Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/22: Рейтинг темы: голосов - 22, средняя оценка - 4.95
4 / 1 / 1
Регистрация: 22.12.2011
Сообщений: 9

Динамические часы

29.11.2012, 20:47. Показов 4101. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть простой код на javascript идущих часов.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
function myclock()
{
ndata=new Date()
hours= ndata.getHours();
mins= ndata.getMinutes();
secs= ndata.getSeconds();
if (hours < 10) {hours = "0" + hours }
if (mins < 10) {mins = "0" + mins }
if (secs < 10) {secs = "0" + secs }
datastr =hours+":" + mins+":" +secs
document.clockexam.clock.value = " "+datastr;
setTimeout("myclock()", 1000);
}
Объясните пожалуйста смысл строк
JavaScript
1
2
3
if (hours < 10) {hours = "0" + hours }
if (mins < 10) {mins = "0" + mins }
if (secs < 10) {secs = "0" + secs }
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
29.11.2012, 20:47
Ответы с готовыми решениями:

Часы
Функцию определения времени я написал. А теперь я хочу чтобы часы работали. Как? Что-то вроде этого надо: &lt;html&gt; &lt;head&gt; ...

Часы на js
Здравствуйте, нужно реализовать конструктор, который возвращает 2 метода start и stop - запускает/останавливает часы. Часы нужно...

Часы
Подскажите что не правильно в коде &lt;span id=&quot;uClock&quot;&gt;10:30:11&lt;/span&gt;&lt;script...

4
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
29.11.2012, 21:06
Цитата Сообщение от nike Посмотреть сообщение
Есть простой код на javascript идущих часов.
это очень плохой код

главный его минус в том, что он вводит целых 5 (пять) новых глобальных переменных
ndata, hours, mins, secs, datastr - а глобальность их никому не нужна
везде надо прописать var
вот так:
JavaScript
1
2
3
4
5
6
var ndata = new Date()
var hours = ndata.getHours();
var mins = ndata.getMinutes();
var secs = ndata.getSeconds();
...
var datastr = hours+":" + mins+":" +secs
кроме того, минусов ещё много - практически в каждой строке
------

эти три строки преобразуют вывод в формат чч:мм:сс, т.е. всегда будет по две цифры для часов, для минут и для секунд
т.е. в пять минут второго часа ночи показывать будет не 1:5:0, а 01:05:00
------

всё то же самое можно сделать короче и правильнее:

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<html>
<head>
<script>
function myclock ()
{
var a0 = function (x) {return ((x < 10) ? '0' : '') + x}, ndata = new Date; with (ndata)
document.clockexam.clock.value = [a0 (getHours ()), a0 (getMinutes ()), a0 (getSeconds ())].join (':');
if (!self.TMR) TMR = setInterval (myclock, 1000);
}
</script>
</head>
<body onload="myclock ()">
<form name="clockexam">
<input name="clock" readonly>
</form>
</body>
</html>
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
29.11.2012, 21:09
Цитата Сообщение от nike Посмотреть сообщение
Объясните пожалуйста смысл строк
Это делают чтобы не дергало строку с часами, только нужно обязательно эту строку выводить моноширным шрифтом.

JavaScript
1
2
3
if (hours < 10) {hours = "0" + hours }
равно
h=h<10?'0'+h:h;
0
супермизантроп
Эксперт JS
3941 / 2979 / 692
Регистрация: 18.04.2012
Сообщений: 8,629
29.11.2012, 21:16
Цитата Сообщение от newJS Посмотреть сообщение
Это делают чтобы не дергало строку с часами, только нужно обязательно эту строку выводить моноширным шрифтом.

по умолчанию в текстовых полях ввода шрифт и так моноширинный
а строка document.clockexam.clock.value однозначно говорит нам о том, что выводится время в поле ввода
0
Эксперт JSЭксперт HTML/CSS
2436 / 1115 / 312
Регистрация: 23.06.2011
Сообщений: 3,529
30.11.2012, 07:41
Цитата Сообщение от kalabuni Посмотреть сообщение
однозначно говорит нам о том, что выводится время в поле ввода
Я бы до такого не додумался бы, выводить в поле ввода.
JavaScript
1
2
3
setTimeout("myclock()", 1000);
правильней так
setTimeout(myclock, 1000);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
30.11.2012, 07:41
Помогаю со студенческими работами здесь

Часы. JS
Решил попрактиковаться и сделать web-часы при помощи js. &lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;meta charset=&quot;utf-8&quot; /&gt; ...

Цифровые часы
Вот код: &lt;script type=&quot;text/javascript&quot;&gt; var d=document var NN=d.layers?true:(window.opera&amp;&amp;!d.createComment)?true:false ...

графические часы
подскажити как можно улучшить скрипт скрипт отображает графические часы &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; ...

Часы на сайт
Помогите пожалуйста, нужны 5 (механических) часов на сайт. одни часы берут время с компьютера , а остальные 4 с определенно заданными...

Часы и чат
Как делать часы в javascript? И как сделать чат?


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru