gpt4 book ai didi

javascript - 我的 JavaScript 倒数计时器工作不正常

转载 作者:行者123 更新时间:2023-12-01 16:09:51 25 4
gpt4 key购买 nike

我的 JavaScript 计时器工作异常:它运行 3-2,然后突然结束(没有经过第 1 步和第 0 步)。这是代码:

var count = 3;
function countDown() {
document.getElementById("count").innerHTML = count;
if (count > 0) {
count--
}
else {
clearInterval(ncount);
document.getElementById("count").style.display = "none"
}
var ncount = setInterval("countDown()", 1000);
}
<form id="askName">
<label> Enter your username: </label>
<input id="input" type="text" required maxlength="10">
<button type="button" onclick="countDown()"> Submit </button>
</form>
<h2 id="count"> </h2>

为什么会出现这种情况?

最佳答案

问题是您的 setInterval 正在调用产生另一个 setInterval 的函数,这会导致计数更快地减少。您可以使用内部函数来避免此问题。

var count = 3;
function countDown() {
function helper(){
document.getElementById("count").innerHTML = count;
if (count > 0) {
count--;
} else {
clearInterval(ncount);
document.getElementById("count").style.display = "none"
}
}
var ncount = setInterval(helper, 1000);
}
<form id="askName">
<label> Enter your username: </label>
<input id="input" type="text" required maxlength="10">
<button type="button" onclick="countDown()"> Submit </button>
</form>
<h2 id="count"> </h2>

关于javascript - 我的 JavaScript 倒数计时器工作不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63176225/

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