Javascript moment.js计时器的自动重新启动
我有一些基于moment.js的计时器代码 一旦计时器计数到零,我希望它重新启动。如果我手动插入日期和时间,它工作正常,但是如果我调用最初使用的var,它只会在00:00:00停止 代码如下所示:Javascript moment.js计时器的自动重新启动,javascript,timer,Javascript,Timer,我有一些基于moment.js的计时器代码 一旦计时器计数到零,我希望它重新启动。如果我手动插入日期和时间,它工作正常,但是如果我调用最初使用的var,它只会在00:00:00停止 代码如下所示: var cutOff = moment.tz(targetDate+ ' ' + targetTime, "Europe/London"); $('#timer').countdown(cutOff.toDate(), function(event) { var days = (event.strft
var cutOff = moment.tz(targetDate+ ' ' + targetTime, "Europe/London");
$('#timer').countdown(cutOff.toDate(), function(event) {
var days = (event.strftime('%D'));
if (days >0){
var str = '<span class="timerLabel"> DAYS </span>' + '<span class="timerLabel"> HRS </span>' + '<span class="timerLabel"> MINS </span>' + '<span class="timerLabel"> SECS </span>';
var str2 = '<div class="numberCircle"><span>'+ (event.strftime('%D')) + '</span></div>' + '<span class="separator"> : </span>' + '<div class="numberCircle"><span>'+ (event.strftime('%H')) + '</span></div>' + '<span class="separator"> : </span>' + '<div class="numberCircle"><span>' + (event.strftime('%M')) + '</span></div>' + '<span class="separator"> : </span>' + '<div class="numberCircle"><span>' + (event.strftime('%S')) + '</span></div>';
}else{
var str = '<span class="timerLabel"> HRS </span>' + '<span class="timerLabel"> MINS </span>' + '<span class="timerLabel"> SECS </span>';
var str2 = '<div class="numberCircle"><span>'+ (event.strftime('%H')) + '</span></div>' + '<span class="separator"> : </span>' + '<div class="numberCircle"><span>' + (event.strftime('%M')) + '</span></div>' + '<span class="separator"> : </span>' + '<div class="numberCircle"><span>' + (event.strftime('%S')) + '</span></div>';
}
var str3 = '<div class="timerbreak"></div>'
var str4 = '<span class="TimeLeft">Time Left for </span>' + despatchday;
var str5 = '<span class="delmethod">Choose preferred despatch method on checkout</span>'
document.getElementById('countdownTimer').innerHTML = str; //The labels
document.getElementById('countdownTimer2').innerHTML = str2; // The countdown
document.getElementById('countdownTimer3').innerHTML = str3; // The underline
document.getElementById('countdownTimer4').innerHTML = str4;
document.getElementById('countdownTimer5').innerHTML = str5;
})
.on('finish.countdown', function(event) {
$(this).parent()
//targetDate = moment().add(1, 'days').format('YYYY-MM-DD');
cutOff = moment.tz(targetDate+ ' ' + targetTime, "Europe/London");
despatchday = 'Despatch Tomorrow';
$('div#timer').countdown(cutOff);
//$('div#timer').countdown("2017-05-09 16:00:00");
但不是在使用时
$('div#timer').countdown(cutOff);
如评论中所述,使用
cutOff.format("YYYY-MM-DD HH:mm:ss")
要获取您在问题中指定的字符串。请尝试
cutOff.format()
,而不是只使用cutOff
@Santosh生成NaN:NaN:nany,您可以尝试将格式作为格式(“YYYY-MM-DD HH:MM:ss”)传递代码>。。。它应该以指定的格式u返回字符串。我现在没有笔记本电脑,所以我自己不能尝试。这就成功了。谢谢@SantoshWelcome,我将用上述解决方案发布答案
cutOff.format("YYYY-MM-DD HH:mm:ss")