2017-07-27 6 views
1

以下は私のJavaScriptコードです。ページがリロードされるたびに、23時間59分59秒にリセットされます。ページリフレッシュ時にカウントダウンタイマーがリセットされます

ページがリロードされるたびにリフレッシュされないという変更は何ですか?

<script type="text/javascript"> 
    function getTimeRemaining(endtime) { 
     var t = Date.parse(endtime) - Date.parse(new Date()); 
     var seconds = Math.floor((t/1000) % 60); 
     var minutes = Math.floor((t/1000/60) % 60); 
     var hours = Math.floor((t/(1000 * 60 * 60)) % 24); 
     var days = Math.floor(t/(1000 * 60 * 60 * 24)); 
     return { 
      'total': t, 
      'days': days, 
      'hours': hours, 
      'minutes': minutes, 
      'seconds': seconds 
     }; 
    } 

    function initializeClock(id, endtime) { 
     var clock = document.getElementById(id); 
     var daysSpan = clock.querySelector('.days'); 
     var hoursSpan = clock.querySelector('.hours'); 
     var minutesSpan = clock.querySelector('.minutes'); 
     var secondsSpan = clock.querySelector('.seconds'); 

     function updateClock() { 
      var t = getTimeRemaining(endtime); 

      daysSpan.innerHTML = t.days; 
      hoursSpan.innerHTML = ('0' + t.hours).slice(-2); 
      minutesSpan.innerHTML = ('0' + t.minutes).slice(-2); 
      secondsSpan.innerHTML = ('0' + t.seconds).slice(-2); 

      if (t.total <= 0) { 
       clearInterval(timeinterval); 
      } 
     } 

     updateClock(); 
     var timeinterval = setInterval(updateClock, 1000); 
    } 

    var deadline = new Date(Date.parse(new Date()) + 28 * 24 * 60 * 60 * 1000); 
    initializeClock('clockdiv', deadline); 
</script> 
+2

現在のカウントダウン値をいくつかの永続的な記憶機構(クッキーやローカルストレージなど)に保存することができます – GolfWolf

+2

'deadline'は、コードが実行された時点の現在の日付に依存します(' new日付() ')。それを特定の日付に変換する必要があります。 |また、次回は質問する前に検索してみてください。あなたの質問のタイトルを検索するだけで、同様の質問が見つかりました。 – yuriy636

答えて

2
var deadline = new Date(Date.parse(new Date()) + 28 * 24 * 60 * 60 * 1000); 

あなたはこの瞬間から日付を作成した後、28日に追加されます。ターゲット日付を定義する必要があります。

var deadline = new Date(year, month, day, hours, minutes, seconds, milliseconds); 
//To find the remaining time until new Year you'd do 
var deadline = new Date(2018, 0, 1); 

月は0から11,11月は12月です。日付オブジェクトについてもっと読むhttps://www.w3schools.com/js/js_dates.asp

+0

ありがとう!それは私のために働いた! – Anshul

関連する問題