Запуск простенького таймера на Java Script

iCospi
На сайте с 27.09.2011
Offline
97
1160

Добрый день, нашёл простенький скрипт таймера, который выводит дни и время до определённой даты, но вот не могу запустить его...

ЗЫ: Сам в Java Script несилён, помогите плиз

Код:


<script>
time_to_x_hour=false;
function PremierTimer(premiere_date)
{
if(premiere_date)
{
var now=new Date();
var premiere=new Date(premiere_date);
time_to_x_hour=(premiere.getTime()-now.getTime())/1000;
}

if(time_to_x_hour<=0) {

if(document.getElementById('CountdownClockDiv'))
document.getElementById('CountdownClockDiv').style.display="none";
document.getElementById('CountdownClock').innerHTML=""; return;
}
var daysleft = parseInt(time_to_x_hour/(24*60*60));

if (daysleft < 0) daysleft=0;
var d = daysleft - Math.floor(daysleft/10)*10;
var dd=0;
if (daysleft > 100) dd=daysleft-Math.floor(daysleft/100)*100;
var daysleftFinal;
var text_day;
if (d==1 && daysleft!=11 && dd!=11) text_day="день";
else if (d>1 && d<5 && (daysleft<10 || daysleft>20) && (!dd || dd > 20 || dd < 5)) text_day="дня";
else if (d>=0) text_day="дней";
if (daysleft > 0) daysleftFinal = '<span class="daysLeft">' + daysleft + '&nbsp;' + text_day + '</span><span class="timeLeft">+';
else daysleftFinal = '';



var hours=parseInt((time_to_x_hour-daysleft*(24*60*60))/(60*60));
var minutes=parseInt((time_to_x_hour-daysleft*(24*60*60)-hours*(60*60))/60);
var seconds=parseInt(time_to_x_hour-daysleft*(24*60*60)-hours*(60*60)-minutes*60);
hours=hours.toString().length>1?hours:"0"+hours;
minutes=minutes.toString().length>1?minutes:"0"+minutes;
seconds=seconds.toString().length>1?seconds:"0"+seconds;
time_to_x_hour--;
if(!document.getElementById('CountdownClockHTML'))
document.getElementById('CountdownClock').innerHTML="<div id='CountdownClockHTML'></div>";
if(document.getElementById('CountdownClockHTML'))
document.getElementById('CountdownClockHTML').innerHTML=( daysleftFinal ) +
hours+':'+
minutes+':'+
seconds + '</span>';

setTimeout(function(){PremierTimer();},1000);
}
</script>

<script>$(function(){ PremierTimer('18 December 2015 00:00:00'); });</script>

Сам вывод:

<div class="downcount">

<div id="CountdownClockDiv">
<div id="CountdownClock">
<div id="CountdownClockHTML">
<span class="daysLeft">367 дней</span>
<span class="timeLeft">+02:17:28</span>
</div>
</div>
</div>
</div>
Удобная проверка позиций (http://allpositions.ru/redirect/8497) | Быстрая покупка уник контента (http://advego.ru/62bgjaNHEc)
jslby
На сайте с 21.03.2014
Offline
49
#1

Попробуйте воспользоваться уже готовым решением: http://e-timer.ru/

дани мапов
На сайте с 06.09.2012
Offline
204
#2

Функция рабочая, может у вас jquery просто не подключена. Попробуйте последнюю строчку

<script>$(function(){ PremierTimer('18 December 2015 00:00:00'); });</script>

заменить на

<script>window.onload = function(){PremierTimer('18 December 2015 00:00:00');};</script>

или на

<script>PremierTimer('18 December 2015 00:00:00');</script>

Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
iCospi
На сайте с 27.09.2011
Offline
97
#3

дани мапов оба ваши варинта запускают функцию. Спасибо.

И да, jquery вроде как не надо, без него всё считается.

IL
На сайте с 20.04.2007
Offline
435
#4
iCospi:
И да, jquery вроде как не надо, без него всё считается.

Сам таймер считается..

Но в коде есть строчка (от которой собственно и избавились с помощью дани мапов):

iCospi:
$(function(){
... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий