2013-10-23 132 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