2014-11-21 74 views
1

我真的需要一些幫助,我的Javascript倒數計時器。 我正在嘗試爲一個測驗遊戲製作一個倒數計時器,它可以在按下按鈕時重置並重新開始。JavaScript定時器不會重置

我可以讓它重置並重新開始,但如果我在時間到達0之前按下按鈕,它會以超快的速度倒數。

任何人都可以幫忙嗎?這裏的代碼:

<script type="text/javascript"> 

var countdown; 
var time; 

function init() { 
    time = 11; 
    reset(); 
    trigger(); 

} 

function trigger() { 

    if(time > 0) { 
     time--; 
     document.getElementById('timer').innerHTML = time; 
     if(time > 0) { 
      countdown = setTimeout('trigger()', 1000); 
     } 
    } 
} 

function reset() { 

    clearTimeout(trigger); 

} 

</script> 

<input type="button" value="Reset" onclick="init()" /> 

<h3 id="timer">10</h3> 

當然,我有基本的HTML文檔設置。該腳本位於標籤內部,如果將腳本放入元素中,定時器行爲沒有區別。

預先感謝您!

+0

http://jsfiddle.net/2wu73ba0/工作正常這裏 – 2014-11-21 12:42:58

+0

不,它不需要納伊姆,我只需添加另一個區間。嘗試按8,6,5 – Billy 2014-11-21 13:03:30

回答

1

您不清除重設中的超時時間。它應該是

clearTimeout(countdown); 

這樣fiddle

+0

非常感謝!我一整天都在編碼,我認爲我的大腦不能正常工作了:D也許我應該休息一下 – regniscire 2014-11-21 13:15:38

+0

沒有probs的註冊表,看着屏幕太長時間後,事情變得模糊。休息一下。 – Billy 2014-11-21 13:18:06