2017-05-08 8 views
0

moment.jsをベースにしたタイマー用のコードがあります タイマーがゼロになると再起動します。私は手動で日付と時刻を挿入した場合、それは正常に動作しますが、私が最初に使用されているVARを呼び出す場合、それは単にコードを以下に示し00:00:00moment.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"); 

を使用している場合、それは[OK]を再起動し、なぜ任意の提案ではなく、コメントで述べたように

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

'cutOff'の代わりに' cutOff.format() 'を試してください – Santosh

+0

@Santoshその結果はNaNです。NaN:NaN –

+0

形式を' format( "YYYY-MM-DD HH:mm:ss ");' ...指定された形式の文字列を返します。私は今ノートパソコンを持っていないので、自分で試してみることはできません。 – Santosh

答えて

1

を使用して、あなたが持っている文字列を取得するために

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

を使用質問に指定されています。

関連する問題