gpt4 book ai didi

javascript - 停止 javascript/jquery 中的函数执行

转载 作者:行者123 更新时间:2023-12-01 02:33:10 24 4
gpt4 key购买 nike

是否可以通过单击按钮或任何其他事件来停止 javascript 中函数的执行?以下是我的困境

function drop() {

setTimeout(function () { // call a 250ms setTimeout when the loop is called
setMarkers(map, locationArray, locationNameArray, iterator);
iterator++;
if (iterator < locationArray.length) { // if the counter < 10, loop!
drop();
}
}, 250);
}

此函数以 250 毫秒的间隔将 Google map 图钉放置在我的 Canvas 上。现在,如果用户想要导航到上一个屏幕(远离 map 页面),则单击后退按钮时我想停止执行此 drop() 函数,重置计数器(迭代器)并返回。

知道我该如何做到这一点或者是否可能?谢谢!

最佳答案

最简单的方法是在其中抛​​出一个“全局”范围的变量,并在每次迭代时检查它。

var cancel = false;
function drop() {
setTimeout(function () { // call a 250ms setTimeout when the loop is called
setMarkers(map, locationArray, locationNameArray, iterator);
iterator++;
if (iterator < locationArray.length && cancel === false) { // if the counter < 10, loop!
drop();
}
}, 250);
}

然后在事件处理程序中更新相同的变量:

$("#mybutton").click(function() {
cancel = true;
});

关于javascript - 停止 javascript/jquery 中的函数执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11095064/

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