Темы

Блоги

Как сделать простые часы на JavaScript Четверг 19 Февраль 2009 00:35:20

В этом маленьком посте я хочу рассказать о том как реализовать простейшие часы на JavaScript. Эти часы будут работать в любом браузере.

А точнее сказать будем делать электронные часы.

Алгоритма будет таков:

  1. На странице создать элемент в который мы поместим наши часы.
  2. Реализуем js функцию, которая будет считывать текущее время и сохраняет его в созданный в первом пункте элемент.
  3. В конце функции разместик вызов setTimeout, которая будет запускать определение времени каждую секунду.
  4. Делаем единственный вызов написанной функции.

Что получится в разультате, после вызова этой функции текущее время запишется в указанный блок, и наша функция будет вызываться каждую секунду.

Вот простая реализация указанного алгоритма:

 

<script type="text/javascript">
function displayCurrentTime()
{
var date_obj = new Date();
var H = '' + date_obj.getHours();
H = H.length<2 ? '0' + H:H;
var M = '' + date_obj.getMinutes();
M = M.length<2 ? '0' + M:M;
var S = '' + date_obj.getSeconds();
S =S.length<2 ? '0' + S:S;
var clock = H + ':' + M + ':' + S;
document
.getElementById('time_element')
.innerHTML=clock;
//"перезапуск"
var t = setTimeout(displayCurrentTime,1000);
}
</script>
<div id="time_element"></div>
<script type="text/javascript">
displayCurrentTime();
</script>

Вот наши часы и готовы:

 
Теги:

Комментарии

  • Викуся Среда 07 Июль 2010 14:14:59
    Скажите пожалуйста, а Вы можете помочь сделать часы?
  • vasiatka Суббота 17 Июль 2010 13:50:10
    А что конкретно вас интересует?
  • Башмак Среда 09 Февраль 2011 17:07:24
    А как сделать так, чтобы часы работали по определенно заданному часовому поясу(т.е. GMT), а не по тому которое установлено у пользователя на компьютере? Например мне нужно чтобы на моём сайте эти часы работали по московскому времени, это [GMT +3:00]. Возможно ли такое реализовать?
  • vasiatka Четверг 06 Октябрь 2011 23:54:08
    Башмак, нужно формировать время по гринвичу и прибавлять в нему нужное число миличекунд

Написать комментарий

Прежде чем высказать свое мнение, прочитайте пожалуйста правила!
Вам необходимо включить показ изображений в браузере для того чтобы увидеть код

Дайте нам знать, что вы - живой человек. Для нас это важно!
Кликните, если плохо видно