2017-04-24 4 views
-1

次のスクリプトがあります。これはDIVのカウントダウンを示しています。これはすべていいです。しかし、カウンタが0(つまり、日/時/分/秒を意味しない)の場合、ページは自動的に1回リフレッシュする必要があります。私は数日間のソリューションを探していますが、解決策を見つけることはできません。誰がこれで私を助けることができますか?タイマがゼロの場合、ページを更新

$(function(){ 

var note = $('#note'), 
    ts = new Date(2010), 
    newYear = false; 

if((new Date()) > ts){ 
    // The new year is here! Count towards something else. 
    // Notice the *1000 at the end - time must be in milliseconds 
    ts = (new Date('<?php echo $newDateUserTimerDate; ?>')).getTime() + 1*1*1*<?php echo $minutes; ?>*1000; 
    newYear = false; 
    //$start_date = new DateTime('2017-04-21 04:10:58'); 
} 

$('#countdown').countdown({ 
    timestamp : ts, 
    callback : function(days, hours, minutes, seconds){ 

     var message = ""; 

     message += days + " day" + (days==1 ? '':'s') + ", "; 
     message += hours + " hour" + (hours==1 ? '':'s') + ", "; 
     message += minutes + " minute" + (minutes==1 ? '':'s') + " and "; 
     message += seconds + " second" + (seconds==1 ? '':'s') + " <br />"; 

     if(newYear){ 
      //message += "left until the new year!"; 
     } 
     else { 
      //message += "left to 10 days from now!"; 
     } 

     note.html(message); 
    } 
}); 

});

+0

問題は何ですか? "解決策が見つからない"というのは、プログラミング言語に関する質問ではありません。 –

答えて

0

ソリューション:たとえば

location.reload(); 

$(function(){ 

var note = $('#note'), 
    ts = new Date(2010), 
    newYear = false; 

if((new Date()) > ts){ 
    // The new year is here! Count towards something else. 
    // Notice the *1000 at the end - time must be in milliseconds 
    ts = (new Date('<?php echo $newDateUserTimerDate; ?>')).getTime() + 1*1*1*<?php echo $minutes; ?>*1000; 
    newYear = false; 
    //$start_date = new DateTime('2017-04-21 04:10:58'); 
} 

$('#countdown').countdown({ 
    timestamp : ts, 
    callback : function(days, hours, minutes, seconds){ 

     var message = ""; 
    message += days + " day" + (days==1 ? '':'s') + ", "; 
    message += hours + " hour" + (hours==1 ? '':'s') + ", "; 
    message += minutes + " minute" + (minutes==1 ? '':'s') + " and "; 
    message += seconds + " second" + (seconds==1 ? '':'s') + " <br />"; 

    if(newYear){ 
     //message += "left until the new year!"; 
     location.reload(); 
    } 
    else { 
     //message += "left to 10 days from now!"; 
    } 

    note.html(message); 


} 
}); 

出典:

https://www.w3schools.com/jsref/met_loc_reload.asp

+0

ありがとうございます。しかし、これをコードのどこにどのように組み込むことができますか? – DevInvestor

+0

if(newYear){//メッセージ+ = "新しい年まで残してください!"; } –

+0

あなたが言及しているIFラインにこれ​​を追加しましたが、タイマーが完了してもまだ表示されます。 0日、0時間、0分および0秒。リフレッシュはありません。しかし、もし私が新年にTRUEにFALSEを変更すると、それはさわやかです。しかし、今は常にページをリフレッシュしています。すべての時間... – DevInvestor

関連する問題