gpt4 book ai didi

javascript - clearTimeout 不会停止循环

转载 作者:行者123 更新时间:2023-11-28 18:13:03 25 4
gpt4 key购买 nike

我的脚本:

var pics = [ "mads.jpeg" ,"niggs.jpg", "rits.jpeg"];

var totalPics = pics.length;
var frame = document.getElementById("photos");
var i = 0;

function loop() {

if(i > (totalPics - 1)){
clearTimeout(loopTimer);
}

frame.innerHTML = '<img id="i" class="image" src="real_bs/'+pics[i]+'" />';
i++;

loopTimer = setTimeout(loop, 300);

}

loop();

i超过totalPics - 1时,循环不会停止,而是显示一个小的未定义图像。为什么 clearTimeout(loopTimer) 不停止它?这是变量作用域的问题吗?

最佳答案

您甚至不需要调用 clearTimeout - 只需安排在剩余更多迭代时调用 setTimeout。从未开始的超时不必清除:

(function loop() {

frame.innerHTML = '<img id="i" class="image" src="real_bs/' + pics[i] + '" />';

if (++i < totalPics) {
setTimeout(loop, 300);
}

})(); // invoke immediately

关于javascript - clearTimeout 不会停止循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225285/

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