gpt4 book ai didi

javascript - 清除间隔逻辑问题?

转载 作者:行者123 更新时间:2023-12-02 16:59:37 26 4
gpt4 key购买 nike

window.onload = function() {
var myVar = setInterval(fn, 2000)
}
function fn() {
alert("test")
clearInterval(myVar)
}

上面的目的是让它执行一次alert("test")行并且仅执行一次。上述的最终结果是警报的无限循环。我哪里逻辑上错了?

添加:

此外,以下情况也会导致警报无限循环。 var myVar 是否可用于highlightTotals() 函数?问题就在这里吗?

var myVar;
window.onload = function() {
var rbs = document.getElementsByName("rbToggle")
for (i=0; i < rbs.length; i++) {
rbs[i].addEventListener("click", highlightTotals)
}
}
function highlightTotals() {
myVar = setInterval(fn, 1000)
}
function fn() {
alert("test")
clearInterval(myVar)
}

最佳答案

myVar 超出了 clearInterval 调用的范围。

替换:

window.onload = function() {
var myVar = setInterval(fn, 2000)
} // myVar is only accessible within this function's scope.

与:

var myVar;
window.onload = function() {
myVar = setInterval(fn, 2000);
}

关于javascript - 清除间隔逻辑问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25867538/

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