2017-01-08 8 views
0

PHPスクリプトを使用して、残り時間をビューに表示します。 このビューの中で私は次のJS & HTMLコードを使用して残りの時間の "カウントダウン"を表示します。JavaScriptのカウントダウン(d:h:m:s)

JS:ウェブサイトをロードするとき、私は私のコンソール内でこの値を取得するので、これを示しながら、

<td class="countdown">0:23:4:49</td> 

は、問題が発生しました:

$(document).ready(function(){ 
    setInterval(function() { 
    $('.countdown').each(function() { 
     var time = $(this).text().split(':'); 
     var timestamp = time[0] * 86400 + time[1] * 3600 + time[2] * 60 + time[3] * 1; 
     timestamp -= timestamp > 0; 
     var days = Math.floor(timestamp/86400) 
     console.log(days); 
     var hours = Math.floor((timestamp - days * 86400)/3600); 
     var minutes = Math.floor(((timestamp - days * 86400) - (timestamp - hours * 3600))/60); 
     var seconds = (timestamp - days * 86400) - (timestamp - hours * 3600) - (minutes * 60); 
     if (days < 10) { 
     days = '0' + days; 
     } 
     if (hours < 10) { 
     hours = '0' + hours; 
     } 
     if (minutes < 10) { 
     minutes = '0' + minutes; 
     } 
     if (seconds < 10) { 
     seconds = '0' + seconds; 
     } 

     $(this).text(days + ':' + hours + ':' + minutes + ':' + seconds); 

    }); 
    }, 1000); 
}) 

値の形式は、PHPから返されます:

0 
1 
NaN 

どこがうまくいかないのですか? スクリプトを「1」(1日24時間)以上表示する方法はありますか?

+2

の可能性のある重複[日Javasacriptカウントダウンタイマー、時間、分、秒](http://stackoverflow.com/questions/27182628/javasacript-countdown -timer-in-days-hours-minute-seconds) –

答えて

0

Kindy固定分と秒電卓を見つける

$(document).ready(function(){ 
    setInterval(function() { 
    $('.countdown').each(function() { 
     var time = $(this).text().split(':'); 
     var timestamp = time[0] * 86400 + time[1] * 3600 + time[2] * 60 + time[3] * 1; 
     timestamp -= timestamp > 0; 
     var days = Math.floor(timestamp/86400) 

     var hours = Math.floor((timestamp - (days * 86400))/3600); 

     var minutes = Math.floor((timestamp - ((days * 86400) + (hours * 3600)) )/60); 

     var seconds = Math.floor((timestamp - ((days * 86400) + (hours * 3600) + (minutes * 60)) )); 

     if (days < 10) { 
     days = '0' + days; 
     } 

     hours = hours < 24 ? hours : 23; 
     if (hours < 10) { 
     hours = '0' + hours; 
     } 

     minutes = minutes < 60 ? minutes : 59; 
     if (minutes < 10) { 
     minutes = '0' + minutes; 
     } 

     seconds = seconds < 60 ? seconds : 59; 
     if (seconds < 10) { 
     seconds = '0' + seconds; 
     } 

     $(this).text(days + ':' + hours + ':' + minutes + ':' + seconds); 

    }); 
    }, 1000); 
}) 
関連する問題