【发布时间】:2020-02-13 01:46:52
【问题描述】:
我正在尝试创建一个启动和停止计时器的函数。启动总是在单击按钮时,但停止可能是由于计时器耗尽或从另一个函数再次调用该函数。
这是我目前所拥有的。非常适合您所看到的,但我无法弄清楚如何合并 clearInterval() 以便在游戏获胜时停止。正在运行的调用 timerCountdown 位于不同的 js 文件中。我已经阅读了类似问题的答案,但它们似乎都与我无法使其适用于我的情况有所不同
我确实意识到我需要调用 clearInterval(count) 但我不知道如何将其合并到函数本身中。
const timerCountdown = () => {
let count = setInterval(() => {
let timeLeft = timer.innerHTML
if (timeLeft > 0) {
timer.innerHTML = timeLeft - 1
} else {
gameOverMessage()
}
}, 1000)
}
【问题讨论】:
-
所以
let count需要可以从外部访问。 (另外setInterval不准确)并且timeLeft是一个字符串,而不是一个数字 -
你能告诉我们你的其他功能吗?
-
那么如果再次调用
timerCountdown,那么倒计时停止并重新开始? -
@epascarello - 为什么 setInterval 不准确?确实 timeLeft 是一个字符串,但它工作正常,所以我没有看到需要将其转换为数字
标签: javascript if-statement setinterval clearinterval