2012-02-15 8 views
0

私はこれを行う方法を正確にはわかりませんが、毎週日曜日にカウントダウンしたいと思います。その後、月曜日の午前12時にカウントダウンを再び開始します。私はこのコードを私のカウントダウンとして使用していますが、現在は手動でカウントダウン日付を入力しています。日曜日に自動的にカウントダウンする方法

var end = new Date('15 Feb 2012 06:40:00'); 
var _second = 1000; 
var _minute = _second * 60; 
var _hour = _minute * 60; 
var _day = _hour * 24; 
var timer; 

    function showRemaining() { 
     var now = new Date(); 
     var distance = end - now; 
     if (distance < 0) { 
      clearInterval(timer); 
      alert('Expired'); 
      return; 
     } 
     var days = Math.floor(distance/_day); 
     var hours = Math.floor((distance % _day)/_hour); 
     var minutes = Math.floor((distance % _hour)/_minute); 
     var seconds = Math.floor((distance % _minute)/_second); 

     document.getElementById('countdown').innerHTML = 'Days: ' + days + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Hours: ' + hours + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Minutes: ' + minutes + '<br />'; 
     document.getElementById('countdown').innerHTML += 'Seconds: ' + seconds + '<br />'; 
    } 

    timer = setInterval(showRemaining, 1000);​ 

答えて

2

あなたは常にこのよう次の日曜日に得ることができます:

var today = new Date(); 
var sunday = new Date(today.getFullYear(),today.getMonth(),today.getDate()+(7-today.getDay())); 
+0

素晴らしいです!もし私が 'var end = new Date(sunday);のように私のコードに追加すれば、それは日曜日に止まり、月曜日に再びバックアップを開始しますか?または日曜日にページをリフレッシュすると、次の日曜日にカウントダウンが開始されますか? – bammab

+0

日曜日は00:00:00になるので、1日の終わりを望む場合は23:59:59が必要です。それで 'var sunday = new Date(today.getFullYear()、today.getMonth()、today.getDate()+(7-today.getDay())、23、59、59);' – derekaug

関連する問題