Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   javascript timer (https://javascript.ru/forum/misc/50943-javascript-timer.html)

ruslan_mart 18.10.2014 13:44

Vampir3, с тем, что таймер начинает срабатывать через секунду. Можете указать например в startTime значение 29, а в сам span написать вручную 00:30.

Vampir3 18.10.2014 13:47

спасибо большое) разобрался))

melky 18.10.2014 14:04

О. как раз недавно делал такую штуку.

Обратный отсчёт ведётся до даты, указанной в формате timestamp:

http://jsbin.com/qezevabage/edit

Ток сделано в виде плагина для jQuery, но к нему не сильно привязано.

Формат тоже по стандартам Unix - %M для минут, %S для секунд

сам плугин:

(function ($) {
  $.fn.timer = function () {
    return $(this).each(function () {
      var $el = $(this);
      var countFrom = $el.data('time');
      var id = setInterval(function () {
        var delta = countFrom - Date.now() * 1e-3 | 0;
        if (delta < 0) {
          clearInterval(id);
          delta = 0;
        }
        var format = "%M:%S";
        var tokens = {
          'M': delta / 60 | 0,
          'S': delta % 60 | 0
        };
        var formatted = format.replace(/%(\w)/g, function (_, token) {
          var value = tokens[token];
          return value;
        });
        $el.html(formatted);
      }, 1 * 1e3);
    });
  };
})(jQuery);


использование:

в разметке:
<!-- Timestamp указывает на дату: (M/D/Y @ h:m:s): 10 / 18 / 14 @ 11:03:21am UTC -->
<div class="Time" data-time="1413630201"></div>


инициализация:
$('.Time').timer();


Часовой пояс GMT +3, время: 23:04.