Javascript moment.js计时器的自动重新启动

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

我有一些基于moment.js的计时器代码 一旦计时器计数到零,我希望它重新启动。如果我手动插入日期和时间,它工作正常,但是如果我调用最初使用的var,它只会在00:00:00停止

代码如下所示:

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")