2013-10-23 235 views
0

我正在寫一個測驗樣式的應用程序,其中每個問題都有一個倒數計時器正在運行。在倒計時結束時,應用程序轉到下一個問題。但是,在回答定時器應該重置的問題時。它不這樣做,而是創建一個新的計時器,所以一旦第一個計時器達到零,它就轉到下一個問題,它不應該這樣做。我使用的倒數計時器從http://www.gieson.com/Library/projects/utilities/countdown/,我的代碼如下:Javascript倒數計時器不會重置

<script type="text/javascript"> 
    window.countdown = ''; 

    function resetTimer() 
    { 
     window.countdown = new Countdown({ 
      time: 30, 
      inline: true, 
      rangeHi : "minute", 
      target: "timer", 
      width: 50, 
      height: 30, 
      onComplete : skipQuestion 
     }); 
    } 
</script> 

每次一個問題的答案(或當計時器運行過程和skipQuestion()被調用),我調用函數resetTimer()。我的javasscript並不是很棒,所以我沒有試圖接觸倒計時器的開發人員,而是希望在這裏有大量知識淵博的人可能會告訴我如何實現這一目標。

預先感謝您。

回答

0

我找到了解決方案。只需調用window.countdown.init()即可重置計時器。

0

你應該叫

window.clearInterval(window.countdown); 

停止運行的定時器。你的代碼在你調用resetTimer()時創建一個新的時間,所以你的函數應該被稱爲createTimer();

+0

謝謝你的意見,不幸的是clearInterval沒有工作。我不認爲倒數計時器使用SetInterval。 – Magnanimity

+0

它使用setTimeout。 – citykid

+0

我現在所做的是在調用新的倒計時之前,我在函數resetTimer()中添加了一行。我試過window.clearInterval(window.countdown),clearInterval(window.countdown),window.clearTimeout(window.countdown)和clearTimeout(window.countdown)。這些都沒有奏效,原定時器仍在繼續。如果我不能正確理解你的答案,你能否詳細說明一下?請記住我的javascript不是太好。 – Magnanimity