我試圖創建一個JavaScript計數器,開始於25分鐘,結束於0.這個想法是顯示分鐘/秒作爲頁面上的倒數時鐘(我的目標div被稱爲'txt' )。但是我沒有得到我想要的結果 - 定時器每次運行函數時都不會減去(每ms)。關於我要去哪裏的任何想法都是錯誤的?代碼如下:遞歸倒數計時器
function countdown() {
var target = 1500000; // 25 mins
var current = 1000; // 0 secs
for (var i=0; i<5; i++) {
var diff = target-current; // calculates the 25 minutes
var min = Math.floor(diff/1000/60); //gets mins
var sec = (diff/1000) % 60; // gets secs
current = current+1000;
document.getElementById("txt").innerHTML = min + ":" + sec;
var t = setTimeout(countdown, 2500);}
}
}
的可能的複製(http://stackoverflow.com/questions/20618355/the -simplest-possible-javascript-countdown-timer) – dippas
一旦你的問題得到解決,你應該只調用* setTimeout *如果'diff> = 0',否則它會不必要地運行。 – RobG
@RobG - 謝謝。是的,將添加,以便它在差異達到0時停止。 – vaspv