Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) jQuery Отсчет времени на jQuery

Отсчет времени на jQuery


     06.10.2012    jQuery    3716

вопрос
Доброго времени суток!
Столкнулся с казалось бы не существующей проблемой.... нужен мне таймер на jQuery, в нете их полно... но все не то =)
На сайте нужно вывести отсчет времени до выхода новых сезонов сериалов... при добавлении категории (сезона) будет указываться дата в формате dd.mm.yy, мне необходим таймер в который можно будет подставить эту дату, и отсчитывать время от той даты к текущей дате... + таких таймеров должно быть несколько...

Ответил: Crush555


Я делал так:
создал доп.поле "timer", в нем указываю будущую дату релиза в формате "17 september, 2013".
в файле fullstory.tpl в нужном месте вставляю:
[xfgiven_timer]<div align=center id="CountdownClock" style="color: rgb(119, 0, 0);"><script type="text/javascript" language="javascript"> updateCountdownClock ("[xfvalue_timer]")</script></div>[/xfgiven_timer]

сам скрипт размещаю в HEAD в main.tpl так:
<script type="text/javascript" src="{THEME}/js/timer.js"></script>

вот сам скрипт:
<!--
// обратный отсчет для рос. премьер
function updateCountdownClock(endDate) {
  var time = new Date();
  var endtime = new Date(endDate);
  var timemils = time.getTime();
  var endtimemils = endtime.getTime();
  if (endtimemils < timemils) {
    document.getElementById('CountdownClock').innerHTML='';
    return;
  }
  
  var daysleft = Math.floor( ( endtimemils - timemils ) / 1000 / 60 / 60 / 24);
    var d = daysleft - Math.floor(daysleft/10)*10;
  var daysleftFinal;
  var text_day;

    //alert(daysleft);
    if (d==1 && daysleft!=11) text_day="день";
    else if (d>1 && d<5 && (daysleft<10 || daysleft>20)) text_day="дня";
    else if (d>=0) text_day="дней";
  
  if (daysleft > 0) daysleftFinal = daysleft + ' ' + text_day + '<br>+';  
    else daysleftFinal = '';
        
    var hours=23-time.getHours();
    var minutes=59-time.getMinutes();
    var seconds=59-time.getSeconds();

  document.getElementById('CountdownClock').innerHTML=
  "<table cellpadding=0 cellspacing=0 border=0 width=20% height=60 bgcolor=#AEC2CF><tr align=center style='color:#777'><b>До релиза:</b><td height=11></td></tr><tr><td style='color:#777' width=100% bgcolor=#ececec align=center>" +
  ( daysleftFinal ) +
  ((hours<10)?'0'+hours:hours)+':'+
  ((minutes<10)?'0'+minutes:minutes)+':'+
  ((seconds<10)?'0'+seconds:seconds) +
  "</td></tr></table>";
  
  window.setTimeout("updateCountdownClock('"+endDate+"')",1000);
}
-->

тыщу лет назад дернул его с кинопоиска, прикрутил к DLE и с тех пор пользуюсь.

Комментарии пользователей (9)

Crush555
2 | 2

Crush555 - 24 октября 2012 21:05 - Юзер

что-то криво запостилось, а редактировать не дает :(

Crush555
2 | 2

Crush555 - 24 октября 2012 21:07 - Юзер

***Комментарий удален***

ПафНутиЙ
1065

3396 | 2434

ПафНутиЙ - 25 октября 2012 07:36 - Админ

подправил ответ, но я бы использовал плагин для jquery

Каков вопрос - таков и ответ. Просто помните об этом.

Sander
1126

1637 | 1204

Sander - 24 октября 2012 23:25 - Эксперт

var time = new Date();

У этого метода один большой минус. У каждого посетителя свои часовые пояса. И расхождение может быть в районе 4 часов и более...

SanDev.pro - мой блог.

ICQ: 404-037-556
Skype: Sander8804

nowheremany
192

1659 | 1292

nowheremany - 25 октября 2012 09:33 - Эксперт

Еслои сравнивать с тем же временем, не пофигу ли?

Благодарность принимаю тут Связь

Олег
5

Олег - 22 ноября 2013 11:38 - Юзер

Здравствуйте. Подскажите пожалуйста, как сделать чтобы данный скрипт брал инфу только из одной определенной категории?

kovel2
2

kovel2 - 10 декабря 2013 12:34 - Юзер

Здравствуйте. А как сделать что бы отчет бил по времени то есть. (до начала осталось 11:55:00 только время без дней.)

vitnet
218

2172 | 930

vitnet - 10 декабря 2013 12:55 - Эксперт

Вырезать дни =)

kovel2
2

kovel2 - 3 февраля 2014 23:08 - Юзер

Можеш сделать. И в доп поле вводить (17:00) без дати

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы