Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: JavaScript-часы, отстают :)
 
 автор: EXP   (08.10.2007 в 20:22)   письмо автору
 
 

Cделал страницу фоном рабочего стола
и приделал такие часы
<script language="javascript">
function
gettime()
{
Now = new Date();
var d = (Now.getDate()+ "-" + Now.getMonth() + "-" + Now.getFullYear())
var t = ( Now.getHours() + ":" + Now.getMinutes() + ":" + Now.getSeconds())


var clspan = document.getElementById("time")
clspan.innerHTML = d + " " + t;
   
}
</script>

<div   onMouseOver="gettime()" id="time" style="background: #000; color: #777; font-size: 32px; width: 80%; text-align: center; border: 7px solid #750;">
</div>


почему они отстают на месяц ? )
и как можно сделать что-бы секунд вместо 1
показывало 01 ?
и какими способами кроме (onMouseOver=") можно заставить их пересчитывать ?
хотел что-бы они сами считали , но бесконечный цикл не очень сработало :)

   
 
 автор: sim5   (08.10.2007 в 20:28)   письмо автору
 
   для: EXP   (08.10.2007 в 20:22)
 

Потому, что месяц возвращается как 0 - январь... 11 - декабрь.

   
 
 автор: coloboc66   (08.10.2007 в 20:44)   письмо автору
 
   для: sim5   (08.10.2007 в 20:28)
 

Вместо onmouseover используйте setInterval

   
 
 автор: EXP   (08.10.2007 в 23:31)   письмо автору
 
   для: EXP   (08.10.2007 в 20:22)
 

спасибо .
уже симпатишнее часы получились
 <html>
<body onLoad="setInterval('timer();', 2)">

<script language="javascript">
 function timer()
{
Now = new Date();
var mes = Now.getMonth() + 1;
var d = (Now.getDate()+ "-" + mes + "-" + Now.getFullYear());
var t = (Now.getHours() + ":" + Now.getMinutes() + ":" + Now.getSeconds());

document.getElementById("time").innerHTML = d + " " + t;
}
</script>

<div id="time" style="background: #000; color: #777; font-size: 32px; width: 80%; text-align: center; border: 7px solid #750;">
</div>
</body></html> 

регекспы никак не работают только с секундами даже до такого их применить пытался :)
Now.getSeconds().replace(/(\d)/, "0$1")

   
 
 автор: bronenos   (08.10.2007 в 23:34)   письмо автору
 
   для: EXP   (08.10.2007 в 23:31)
 

вторым параметром поставьте не 2 а 1000

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования