gpt4 book ai didi

javascript - 重置定时器?

转载 作者:可可西里 更新时间:2023-11-01 13:08:36 26 4
gpt4 key购买 nike

我在重置倒数计时器时遇到了一些问题。这是 JSFiddle .这基本上是一个简单的游戏,您有 5 秒的时间来选择作为给定单词的变位词的单词。

我基本上是在尝试创建一个 resetTimer() 函数(第 166 行),如果您选择了正确的答案,它将使计时器回到 5:00。

这是我的代码中我要调用 resetTimer() 函数的地方。

  view.updateData = function() {
view.assignWords();
view.displayTimer();

for(var i = 0; i < this.buttons.length; i++) {
this.buttons[i].addEventListener('click', function(event) {
if(event.target === dictionary.correctButton) {
dictionary.words.pop(this.currWord);
dictionary.updateWordCount();
view.assignWords();
view.updateScore();
view.resetTimer();
} else {
view.displayLossScreen();
}
});
}
};

这是我的计时器的代码,它从 5:00 开始到零。

  view.displayTimer = function() {
var count = 500;
var timer = setInterval(countdown, 10);

function countdown() {
if(count === 0) {
clearInterval(timer);
view.displayLossScreen();
} else {
count--;
}
document.getElementById("timer").innerHTML = (count / 100).toFixed(2);
}
};

非常感谢任何帮助!

最佳答案

考虑以下更改:

首先设置count为全局变量:

var count = 500;//global variable

view.resetTimer = function() {
count=500;
};

UPDATED DEMO

更新:

由于线路的缘故,计时器走得越来越快:

var timer = setInterval(countdown, 10);//setting new variable with interval every time

我已经将timer设置为一个全局变量,并且每次开始前都清空它:

var timer;//setting global variable
clearInterval(timer);//clearing timer
timer = setInterval(countdown, 10);

Fixed DEMO

关于javascript - 重置定时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28424327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com