Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2010, 17:46   #1
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию Часы на Javascript+php

Решил нписать часики на JS + PHP, которые показывали бы время на сервере. Для этого, при загрузке страницы через php получаю серверное время, а потом уже этими циферками орудую JavaScript'oм. Но возникла проблема. В коде есть место, где случае, если секунды = 60, то должно отображаться 00, как и во всех нормальных цифровых часах. Но почему то корректно не работает. Секунды доходят до 59, зависают ровно на 2 сек. и дальше идёт: 01, 02 и т.д. до 59. То есть время считает правильно, но не отображает момент "00".

вот код:

Код HTML:
 <b id="seconds">0</b>

<script Language="JavaScript">
var hours = <?php echo date("H"); ?>;
var min = <?php echo date("i"); ?>;
var sec = <?php echo date("s"); ?>;
function display() {
if (sec == 59) {
  sec = 0;
if (min >= 59) {
  min = 0;
if (hours >= 24)
  hours = 0;
}
else
  min+=1;
} else {
sec+=1;



if (sec<10)
  sec2display = "0"+sec;
else
  sec2display = sec;


if (min<10)
  min2display = "0"+min;
else
  min2display = min;

if (hours<10)
  hour2display = "0"+hours;
else
  hour2display = hours;


}
document.getElementById("seconds").innerHTML = hour2display+":"+min2display+":"+sec2display;
setTimeout("display();", 1000);
}
display();
</script>
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 30.04.2010, 18:46   #2
russian-stalker
Участник клубаДжуниор
 
Аватар для russian-stalker
 
Регистрация: 23.08.2008
Сообщений: 1,616
По умолчанию

Можно что-то типа этого:
Код:
 <b id="seconds">0</b>

<script Language="JavaScript">
var hours = <?php echo date("H"); ?>;
var min = <?php echo date("i"); ?>;
var sec = <?php echo date("s"); ?>;
function display() {
sec+=1;
if (sec>=60)
{
 min+=1;
 sec=0;
}
if (min>=60)
{
 hours+=1;
 min=0;
}
if (hours>=24)
 hours=0;


if (sec<10)
  sec2display = "0"+sec;
else
  sec2display = sec;


if (min<10)
  min2display = "0"+min;
else
  min2display = min;

if (hours<10)
  hour2display = "0"+hours;
else
  hour2display = hours;

document.getElementById("seconds").innerHTML = hour2display+":"+min2display+":"+sec2display;
setTimeout("display();", 1000);
}
display();
</script>
pushl $0x18E3DF6B
call ICQ
russian-stalker вне форума Ответить с цитированием
Старый 30.04.2010, 23:03   #3
Linel
Форумчанин
 
Аватар для Linel
 
Регистрация: 21.02.2009
Сообщений: 372
По умолчанию

Спасибо, вроде разобрался с вашим примером и понял, в чем была моя ошибка.
No name. Just Linel.
Linel вне форума Ответить с цитированием
Старый 06.05.2010, 07:23   #4
vasek123
Заблокирован
 
Регистрация: 21.11.2008
Сообщений: 4,986
Сообщение

Можно сделать и проще, я например поступал так:

Код HTML:
<html>
<head>
<title>Главная</title>
<script type="text/javascript">
   setInterval("document.location.reload('');", 1000);
</script>
</head>
<body>
<?php
   $hours= date(H);
   $min= date(i);
   $sec= date(s);
   $dateH= $hours.":".$min.":".$sec;
   echo $dateH;
?>
</body>
</html>
vasek123 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Javascript и php konstantinopol JavaScript, Ajax 4 13.03.2009 18:17
Переделать Javascript в php Anton62 JavaScript, Ajax 4 13.01.2009 17:27
Требуется PHP,CSS,JavaScript программист Антон Радеонов Фриланс 1 15.06.2008 13:15
PHP VS Javascript vitalik007 Свободное общение 3 16.11.2007 18:05