【问题标题】:JavaScript timer won't resetJavaScript 计时器不会重置
【发布时间】:2014-11-21 12:37:34
【问题描述】:

我真的需要一些关于我的 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 文档。脚本在标签内,如果我将脚本放在元素中,则计时器行为没有区别。

提前谢谢你!

【问题讨论】:

  • jsfiddle.net/2wu73ba0 在这里工作正常
  • 不,它没有,我只是添加了另一个间隔。试着在 8,6,5 按下它

标签: javascript html timer


【解决方案1】:

您没有在重置中清除超时。应该是

 clearTimeout(countdown);

喜欢这个fiddle

【讨论】:

  • 非常感谢!我整天都在编码,我认为我的大脑将无法正常工作:D 也许我应该休息一下
  • No probs regniscire,看屏幕太久后会变得模糊。休息一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-12-07
  • 1970-01-01
  • 2018-08-21
  • 1970-01-01
  • 2020-06-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多