Показать сообщение отдельно
  #1 (permalink)  
Старый 17.03.2013, 21:58
Новичок на форуме
Отправить личное сообщение для UndeadLie Посмотреть профиль Найти все сообщения от UndeadLie
 
Регистрация: 17.03.2013
Сообщений: 2

Проблема с обратным таймером
Добрый час, форумчане. Меня интересует следующий вопрос, а точнее просьба в помощи.
Просьба в том, чтобы объяснить мне каким образом настраивать дату в этом скрипте. Причина моего обращения сюда в том, что скрипт неадекватно ведёт обратный отсчёт. Я указываю дату, к примеру 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>

Буду любезен, если вы объясните мне как настраивать дату и время или поможете со скриптом.
Ответить с цитированием