Таймер обратного отсчета с использованием момента .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.