Проблема с обратным таймером
Добрый час, форумчане. Меня интересует следующий вопрос, а точнее просьба в помощи.
Просьба в том, чтобы объяснить мне каким образом настраивать дату в этом скрипте. Причина моего обращения сюда в том, что скрипт неадекватно ведёт обратный отсчёт. Я указываю дату, к примеру 03/17/2013 и время 9:20 по PM. Но скрипт показывает, что до события необходимо ждать все 128 дней:40 часов:8 минут: 72 секунды. Причём время указывалось на 10 минут, т.е. я задавал параметр в 9:10 PM. Однако из наблюдений выяснилось, что минуты и секунды идут правильно, вроде как. Выкладываю код скрипта. Уважаемые гуру и профи - помогите. Не проходите мимо. Время я учитываю по МСК. <style> #clock1{ font-size: 25px; font-family:"Arial Black", Gadget, sans-serif; text-align:center;} </style> <div id="clock1">[clock1]</div> <script language="JavaScript"> StartCountDown("clock1","03/17/2013 10:00 PM -0400") /* Author: Robert Hashemian ([url]http://www.hashemian.com/[/url]) Modified by: Munsifali Rashid ([url]http://www.munit.co.uk/[/url]) Modified by: Tilesh Khatri */ function StartCountDown(myDiv,myTargetDate) { var dthen = new Date(myTargetDate); var dnow = new Date(); ddiff = new Date(dthen-dnow); gsecs = Math.floor(ddiff.valueOf()/1000); CountBack(myDiv,gsecs); } function Calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); if (s.length < 2) { s = "0" + s; } return (s); } function CountBack(myDiv, secs) { var DisplayStr; var DisplayFormat = "%%D%% : %%H%% : %%M%% : %%S%%"; DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, Calcage(secs,3600,24)); DisplayStr = DisplayStr.replace(/%%M%%/g, Calcage(secs,60,60)); DisplayStr = DisplayStr.replace(/%%S%%/g, Calcage(secs,1,60)); if(secs > 0) { document.getElementById(myDiv).innerHTML = DisplayStr; setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ");", 990); } else { document.getElementById(myDiv).innerHTML = "Акция завершена"; } } </script> Буду любезен, если вы объясните мне как настраивать дату и время или поможете со скриптом. |
UndeadLie,
странные строки 28 29 тайм зону можно неуказывать ... <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>Untitled</title> </head> <body> <style> #clock1{ font-size: 25px; font-family:"Arial Black", Gadget, sans-serif; text-align:center;} </style> <div id="clock1">[clock1]</div> <script language="JavaScript"> StartCountDown("clock1","03/17/2013 11:00 PM") /* Author: Robert Hashemian ([url]http://www.hashemian.com/[/url]) Modified by: Munsifali Rashid ([url]http://www.munit.co.uk/[/url]) Modified by: Tilesh Khatri */ function StartCountDown(myDiv,myTargetDate) { var dthen = new Date(myTargetDate); var dnow = new Date(); ddiff = dthen.getTime()-dnow.getTime(); gsecs = Math.floor(ddiff/1000); CountBack(myDiv,gsecs); } function Calcage(secs, num1, num2) { s = ((Math.floor(secs/num1))%num2).toString(); if (s.length < 2) { s = "0" + s; } return (s); } function CountBack(myDiv, secs) { var DisplayStr; var DisplayFormat = "%%D%% : %%H%% : %%M%% : %%S%%"; DisplayStr = DisplayFormat.replace(/%%D%%/g, Calcage(secs,86400,100000)); DisplayStr = DisplayStr.replace(/%%H%%/g, Calcage(secs,3600,24)); DisplayStr = DisplayStr.replace(/%%M%%/g, Calcage(secs,60,60)); DisplayStr = DisplayStr.replace(/%%S%%/g, Calcage(secs,1,60)); if(secs > 0) { document.getElementById(myDiv).innerHTML = DisplayStr; setTimeout("CountBack('" + myDiv + "'," + (secs-1) + ");", 990); } else { document.getElementById(myDiv).innerHTML = "Акция завершена"; } } </script> </body> </html> |
рони,
спасибо огромное! |
Часовой пояс GMT +3, время: 11:46. |