Информационная лента
Чат


Загрузка данных...

Необходимо авторизоваться!

Свежие обсуждения


Загрузка данных...

Топ активов

  • 1 · Посты: 4944 · Репутация: 187
  • 2 · Посты: 3193 · Репутация: 333
  • 3 · Посты: 2321 · Репутация: 1319
  • 4 · Посты: 1613 · Репутация: 373
  • 5 · Посты: 1038 · Репутация: 42

Форум
Страница 1 из 11
Форум » WEB » JS » Помогите с JS countdown (Пишу скрипт countdown но существуют погрешности)
Помогите с JS countdown
Оффлайн
BlackPaper · Написал: 1 сообщение · Репутация: 0 · Группа: «Starter»
Добрый час, форумчане. Пишу скрипт таймера на JS и DIV структуре. В JS я не гуру и не профи. Но по какой-то из причин, вероятно моё непонимание временных просторов привело меня к неправильной работе таймера.
Если я ставлю сегодняшнюю дату, допустим 17:03:2013 и время 16:00 PM, то работа его уже завершается, а время ещё 15:00, т.е. таймер должен работать ещё час.
Если ставлю другую дату, отсчёт идёт, но он неверный. Поставим дату 18:03:2013 и таймер показывает 485 дней до этой даты. Хотя я поставил "завтрашнее" число. Выкладываю код скрипта. Кстати, этот таймер можно использовать неограниченное количество раз.
[spoiler][code]<style>

#clock1{
font-size: 12px;
font-family:"Arial Black", Gadget, sans-serif;
text-align:center;}

</style>
<div id="clock1">[clock1]</div>

<script language="JavaScript">

StartCountDown("clock1","17/03/2013 :00 AM -0400")




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>
[/code][/spoiler]
17.03.2013, в 15:22 | # 1 · | Понравилось: 0

Форум » WEB » JS » Помогите с JS countdown (Пишу скрипт countdown но существуют погрешности)
Страница 1 из 11
Поиск:
uJS.su - сайт, посвященный уникальным разработкам для системы uCoz. У нас Вы найдете десятки готовых интересных уникальных решений для Вашего сайта, а также сможете оставить свою идею, которую мы постараемся реализовать.