我正在尝试使用moment.js和jQuery进行倒计时。它应该倒数到12.00,当它已经超过12.00时,它应该倒数到24.00等。所以总是倒数接下来的12个小时。它也必须是UTC。这就是我现在所拥有的,它工作正常,除非它已经超过12.00,它说“完成了计时器”。
如何以最佳方式实现这一目标?
var currentTime, endTime, timeDif;
currentTime = moment.now().format('X');
endTime = moment(moment.utc(12, "HH")).format('X');
function roundEndTimer() {
var Hours, Minutes, Seconds;
timeDif = endTime - currentTime;
function updateTime (){
Seconds = timeDif;
Hours = Math.floor(Seconds/3600);
Seconds -= Hours * 3600;
Minutes = Math.floor(Seconds/60);
Seconds -= Minutes * 60;
}
function tick (){
clearTimeout(timer);
updateTime();
displayTime();
if(timeDif > 0) {
timeDif - 1;
timer = setTimeout(tick, 1*1000)
}else {
$("#roundendtime").html("Timer done");
}
}
function displayTime() {
var out;
out = moment().hours(Hours).format('HH')+':'+moment().minutes(Minutes).format('mm')+':'+moment().seconds(Seconds).format('ss');
$("#roundendtime").html(out);
}
var timer = setTimeout(tick, 1*1000);
}