为什么我的间隔还在计数,并没有停在 0?
Why my interval is still counting and didn't stop at 0?
我想知道为什么我的倒计时没有在 0 处停止,“时间到”日志仍在无限记录。
这是我的代码:
let timer = 6;
setInterval(function () {
if (timer > 0) {
timer--;
console.log(timer);
} else {
console.log("Time's Up");
clearInterval(timer);
}
}, 1000);
clearInterval
需要知道您要取消的操作。在这种情况下,该操作实际上是您的 setInterval
,因此只需将其分配给一个变量并将该变量用作 clearInterval
.
的参数
const myInterval = setInterval(() => {
if (timer > 0) {
timer--;
console.log(timer);
} else {
console.log("Time's Up");
clearInterval(myInterval);
}
}, 1000);
据我了解,您将计时器用作变量。所以,你犯了一个错误,你在 clearInterval 方法中给出了错误的参数。您可以通过以下代码停止 clearInterval 方法:-
注意:- 我只是将 console.log 替换为 document.write 以在屏幕上显示输出。
var timer = 5;
var myinterval = setInterval(function () {
if (timer > 0) {
timer--;
document.write(timer+"<br>");
} else {
document.write("Time's Up");
clearInterval(myinterval);
}
}, 1000);
我想知道为什么我的倒计时没有在 0 处停止,“时间到”日志仍在无限记录。
这是我的代码:
let timer = 6;
setInterval(function () {
if (timer > 0) {
timer--;
console.log(timer);
} else {
console.log("Time's Up");
clearInterval(timer);
}
}, 1000);
clearInterval
需要知道您要取消的操作。在这种情况下,该操作实际上是您的 setInterval
,因此只需将其分配给一个变量并将该变量用作 clearInterval
.
const myInterval = setInterval(() => {
if (timer > 0) {
timer--;
console.log(timer);
} else {
console.log("Time's Up");
clearInterval(myInterval);
}
}, 1000);
据我了解,您将计时器用作变量。所以,你犯了一个错误,你在 clearInterval 方法中给出了错误的参数。您可以通过以下代码停止 clearInterval 方法:-
注意:- 我只是将 console.log 替换为 document.write 以在屏幕上显示输出。
var timer = 5;
var myinterval = setInterval(function () {
if (timer > 0) {
timer--;
document.write(timer+"<br>");
} else {
document.write("Time's Up");
clearInterval(myinterval);
}
}, 1000);