2017-05-08 89 views
0

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

价值中的代码如下所示:

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("2017-05-09 16:00:00"); 

但使用

$('div#timer').countdown(cutOff); 
+0

尝试使用'cutOff.format()'而不是只使用'cutOff' – Santosh

+0

@Santosh结果NaN:NaN:NaN –

+0

您可以尝试传递格式为'format(“YYYY-MM-DD HH:mm:ss “);'...它应该以指定的格式返回字符串。我现在没有笔记本电脑,所以不能自己尝试。 – Santosh

回答

1

正如在评论中讨论的时候不是在重新确定的任何建议,请使用

cutOff.format("YYYY-MM-DD HH:mm:ss") 

让你有串在问题中指定。