Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.50/6: Рейтинг темы: голосов - 6, средняя оценка - 4.50
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5

Все дело в "кнопке"

31.03.2014, 15:51. Показов 1246. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите мне пожалуйста с программой. Задача: на кнопке находится таймер, при нажатии на кнопку должно прописью отображаться время (например: семнадцать часов двадцать минут сорок секунд итд.) Можно пользоваться любыми средствами html, javascript, css.

Кнопку я задал с помощью блоков. Через javascript у меня не получилось сделать так, чтобы часы были на кнопке.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<html>
<head>
<title>Дата время.</title>
<script type="text/javascript">
</head>
<body>
 
<style type="text/css">
a.button, a.button:wisited { 
margin-left: 280px; 
display: block; 
border:1px solid; 
border-color: #aaa #000 #000 #aaa; 
 
text-decoration:none; 
width:28em; 
height:2em; 
line-height:2em; 
background:#FFFF00; 
font-weight:bold 
}
 
a.button:hover {
background:#FFA500; 
position:relative; 
top:1px; left:1px; 
border-color: #000 #aaa #aaa #000} 
}
</style> 
<form>
<p>
<a href="#" class="button">
<script type="text/javascript">
document.write(time_is_now())
</script>;
</body>
</html>
 
</a>
</p>
</form>
</html>
Подскажите пожалуйста, как правильно сделать так, чтобы при нажатии на кнопку начал работать другой скрипт(записывающий время прописью), записанный в html документе. Вот его листинг:
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<html>
<head>
<title>Пропись.</title>
<script type="text/javascript">
function time_is_now() {
var Time = new Date();
var this_Hour = Time.getHours();
var this_Min = Time.getMinutes();
var this_Sec = Time.getSeconds();
var text = "Сейчас: ";
var ending_m = " минут";
var ending_h = " час";
var ending_s = "секунд";
 
Hour = new Array( "ноль", "один", "два", "три", "четыре", "пять", "шесть", "семь",
"восемь", "девять", "десять", "одиннадцать", "двенадцать", "тринадцать",
"четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать",
"девятнадцать", "двадцать", "двадцать один", "двадцать два", "двадцать три");
 
Min = new Array( "ноль", "одна", "две", "три", "четыре", "пять", "шесть", "семь",
"восемь", "девять", "десять", "одиннадцать", "двенадцать", "тринадцать",
"четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать",
"девятнадцать");
 
Sec = new Array( "ноль", "одна", "две", "три", "четыре", "пять", "шесть", "семь",
"восемь", "девять", "десять", "одиннадцать", "двенадцать", "тринадцать",
"четырнадцать", "пятнадцать", "шестнадцать", "семнадцать", "восемнадцать",
"девятнадцать", "двадцать", "двадцать один", "двадцать два", "двадцать три");
 
text += Hour[this_Hour] + " ";
 
if (this_Hour > 10 && this_Hour < 20) ending_h += "ов";
else {
 this_Hour = this_Hour % 10;
 if (this_Hour > 1 && this_Hour < 5) ending_h += "а";
 else if (this_Hour == 1);
 else ending_h += "ов";
}
text += ending_h + " ";
 
if (this_Min < 20) text += Min[this_Min];
else {
 twenty_min = Math.floor(this_Min / 10);
 switch(twenty_min) {
  case 2 : text += "двадцать "; break;
  case 3 : text += "тридцать "; break;
  case 4 : text += "сорок "; break;
  case 5 : text += "пятьдесят "; break;
 }
 if (this_Min % 10 != 0) text += Min[Math.abs(this_Min % 10)];
}
 
if (this_Min > 10 && this_Min < 20);
else {
 this_Min = this_Min % 10;
 if (this_Min > 1 && this_Min < 5) ending_m += "ы";
 else if (this_Min == 1) ending_m += "а";
}
text += ending_m + " "
 
if (this_Sec < 20) text += Sec[this_Sec];
else {
 twenty_sec = Math.floor(this_Sec / 10);
 switch(twenty_sec) {
  case 2 : text += "двадцать "; break;
  case 3 : text += "тридцать "; break;
  case 4 : text += "сорок "; break;
  case 5 : text += "пятьдесят "; break;
 }
 if (this_Sec % 10 != 0) text += Sec[Math.abs(this_Sec % 10)];
}
if (this_Sec > 10 && this_Sec < 20);
else {
 this_Sec = this_Sec % 10;
 if (this_Sec > 1 && this_Sec < 5) ending_s += "ы";
 else if (this_Sec == 1) ending_s += "а";
}
text += " " + ending_s;
 
return text;
}
</script>
</body>
</html>
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.03.2014, 15:51
Ответы с готовыми решениями:

Дело в мониторе? Или всё таки в видеокарте?
Всем доброго времени суток! Постараюсь описать проблему. Не так давно приобрел видеокарту Asus gtx 660 ti DC2 и всё казалось бы здорово, но...

И все таки в чем дело? Микрозависание в играх!
И так начнём с описание системы: Windows 7 64 bit (с торрента) Материнская плата GIGABYTE GA-790XTA-UD4 (rev. 1.0) ...

Предприниматель, начав дело, взял кредит размером k рублей под p процентов годовых и вложив его в свое дело. По прогноза
Предприниматель, начав дело, взял кредит размером k рублей под p процентов годовых и вложив его в свое дело. По прогнозам его дело должно...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
31.03.2014, 17:35
как-то всё очень сложно у вас
можно сделать значительно проще и в разы короче

только уточните, верно ли я понял задание:

1) имеем кнопку, непосредственно на которой работают часы, выдающие текущее время в формате ЧЧ:ММ:СС

2) при нажатии на кнопку формат текущего времени на той же кнопке изменяется на часы минуты секунды (прописью, с правильным склонением)

3) при повторном нажатии на кнопку формат текущего времени на кнопке возвращается к исходному ЧЧ:ММ:СС (и т.д.)
0
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5
31.03.2014, 22:18  [ТС]
Да-да-да, все верно
К сожалению только недавно стал изучать курс скриптов, поэтому с реализацией у меня все тяжко.
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
01.04.2014, 01:01
Лучший ответ Сообщение было отмечено Laknak как решение

Решение

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251">
<script>
function myNumberClock ()
{
var d = new Date (), t = [d.getHours (), d.getMinutes (), d.getSeconds ()];
if (S > 0) var r = [addZero (t [0]), addZero (t [1]), addZero (t [2])].join (':');
else var r = [myDecl (t [0], 0), myDecl (t [1], 1), myDecl (t [2], 2)].join (' ');
document.getElementById ('btn').value = r; setTimeout (myNumberClock, 1000);
   function addZero (x) {return ((x < 10) ? '0' : '') + x}
   function myDecl (n, q)
   { 
   var w = [['час',     'часа',    'часов' ],  // q = 0
            ['минута',  'минуты',  'минут' ],  // q = 1
            ['секунда', 'секунды', 'секунд']], // q = 2
       k = n % 10,
       l = (!k || n > 5 && n < 21 || k > 4) ? 2 : ((k == 1) ? 0 : 1),
      z2 = w [q] [l],
     l11 = ['ноль', q ? 'одна' : 'один', q ? 'две' : 'два', 'три', 'четыре', 'пять', 'шесть', 'семь', 'восемь', 'девять', 'десять'];
   if (n < 11) var z1 = l11 [n];
   else if (n < 20) var z1 = ['один', 'две', 'три', 'четыр', 'пят', 'шест', 'сем', 'восем', 'девят'] [n - 11] + 'надцать';
   else if (n > 19) var z1 = ['двадцать', 'тридцать', 'сорок', 'пятьдесят'] [(n - k - 20) / 10] + (k ? (' ' + l11 [k]) : '');
   return z1 + ' ' + z2; 
   }
}
onload = function () {document.getElementById ('btn').addEventListener ('click', function () {S *= -1}); S = 1; myNumberClock ()}
</script>
</head>
<body>
<input id="btn" type="button">
</body>
</html>
1
0 / 0 / 0
Регистрация: 31.03.2014
Сообщений: 5
01.04.2014, 10:34  [ТС]
Спасибо вам огромное!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.04.2014, 10:34
Помогаю со студенческими работами здесь

Вроде всё легко, но происходит ошибка. В чём дело?
import discord from discord.ext import commands from discord.ext.command import Bot Bot = commands.Bot(command_prefix='!') ...

Edit, ADOTable и БД. Неполучается все это дело соединить
Доброго времени суток! Есть две таблицы: &quot;Платежи&quot; и &quot;Фирмы&quot;. В таблице &quot;Платежи&quot;, два столбца ПлатДок и Фир_ID, а в &quot;Фирмы&quot;...

На локальной машине все работает, а на сервере нет в чем дело
Я ставлю большую задержку в работе скрипта из-за этого соединение прерывается я сделал проверку if(!$db-&gt;select(&quot;SELECT 1&quot;)){ ...

Не могу найти ошибку, может быть дело даже не в коде, но все же
Не компилируется прога и все тут, уже каждый символ проверил, логически все верно. Суть даже в том, что ошибок то и нет, но программа...

Ошибок нет , но код все равно не работает , в чем дело? VS 2019 C++
#include &lt;iostream&gt; using namespace std; int main() { setlocale(0, &quot;&quot;); int a, b; cout &lt;&lt; &quot;Введите первое число: &quot;; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru