Таймер обратного отсчета с использованием момента .js мм: формат ss

Я использую этот moment.js

Здесь пример кода:

var mytimer= moment().format('00:60');

setInterval(counter,500);

function counter(){
     mytimer--; // its return NaN error
     sym.$("Text").html(mytimer);
}

Как я могу сделать так, чтобы он отсчитывался?

00:60 00:59 ... 00:00

Спасибо заранее!

Ответ 1

В этом случае вам не нужно использовать момент. Мне кажется, что библиотека лучше подходит для дат форматирования, а не для таймеров. См. Мой пример ниже. Он использует обратный вызов, чтобы вы могли повторно использовать его для выполнения любых действий.

    function MyTimer(callback, val) {
        val = val || 60; 
        var timer=setInterval(function() { 
            callback(val);
            if(val-- <= 0) { 
                clearInterval(timer); 
            } 
        }, 1000);
    }
    new MyTimer(function(val) {
        var timerMsg = "00:" + (val >= 10 ? val : "0" + val);
        document.getElementById("timer").textContent = timerMsg; 
    });
<div id="timer"></div>

Ответ 2

Я знаю, что это не используется, но это в нужном формате

Проверьте это.

http://jsfiddle.net/robbmj/czu6scth/2/

window.onload = function() {

      var display = document.querySelector('#time'),
          timer = new CountDownTimer(5);

      timer.onTick(format).onTick(restart).start();

      function restart() {
        if (this.expired()) {
          setTimeout(function() { timer.start(); }, 1000);
        }
      }

      function format(minutes, seconds) {
        minutes = minutes < 10 ? "0" + minutes : minutes;
        seconds = seconds < 10 ? "0" + seconds : seconds;
        display.textContent = minutes + ':' + seconds;
      }
    };

Это будет отображаться в формате 00:00.