2015-09-25 30 views
0

當我的分鐘達到60時,它會繼續,我如何將其重置爲零或歸零?以下是代碼:我在計時器上的分鐘數不會重置爲零

var timeStart = 0; 
var interval; 

window.onload = function() { 

    interval = setInterval(function timeReady() { 
     var timeDisplay = document.getElementById("timeDisplay"); 
     var hour = Math.floor(timeStart/3600); 
     var min = Math.floor(timeStart/60); 
     var sec = timeStart - (min * 60); 
      if (sec < 10) { 
       sec = "0" + sec; 
      } 
     var timeMsg = hour + ":" + min + ":" + sec; 
     timeDisplay.innerHTML = timeMsg; 
      timeStart++;    
    },1000) 


    document.getElementById("submitButton").onclick = function() { 
     clearInterval(interval); 
    }; 

}; 
+0

使用Math.floor(((timeStart%3600)/ 60);獲得分鐘和Math.floor(((timeStart%3600)%60)得到秒 – Molda

回答

0

發生這種情況是因爲您計算的分鐘數錯誤。我也修復了你的秒計算。試試這個:

interval = setInterval(function timeReady() { 
    var timeDisplay = document.getElementById("timeDisplay"); 
    var hour = Math.floor(timeStart/3600); 
    var min = Math.floor((timeStart % 3600)/60); 
    var sec = timeStart % 60; 
     if (sec < 10) { 
      sec = "0" + sec; 
     } 
    var timeMsg = hour + ":" + min + ":" + sec; 
    timeDisplay.innerHTML = timeMsg; 
     timeStart++;    
},1000) 
+0

很好的幫助,但我認爲沒有問題,即使您在一分鐘內刪除「%3600」而不是(timeStart%3600)/ 60我們可以這樣做:(timeStart)/ 60.可以嗎? – qwerty

相關問題