gpt4 book ai didi

jquery - setInterval 和 setTimeout

转载 作者:行者123 更新时间:2023-12-01 07:26:08 25 4
gpt4 key购买 nike

var myTimer = setInterval(function(){
var eleID = '';
var delayTimer = '';
$('#hp-fcas li').each(function(i) {
eleID = $(this).attr('id');
delayedTrigger( $('#'+eleID + ' a'), 7000*i);
});
function delayedTrigger(elem, delay){
setTimeout(function(){
$(elem).trigger('click');
}, delay );
}
}, 21000);

$(".play").click(function(){
clearTimeout();
clearInterval(myTimer);
});

第一个实例的第一个间隔为 21 秒。

第二个间隔是 3 个 7 秒的实例(我想要的)。

当我点击“.play”时,我试图清除以上所有内容。

有什么帮助吗?

最佳答案

clearTimeout需要传递一个超时ID,该ID由setTimeout返回。

clearTimeout(); 不执行任何操作。您可以将 setTimeout 的返回值推送到数组中,然后循环遍历它们,并运行 clearTimeout

var timeouts = []; // Array of timeouts
var myTimer = setInterval(function(){
var eleID = '';
var delayTimer = '';
$('#hp-fcas li').each(function(i) {
eleID = $(this).attr('id');
delayedTrigger( $('#'+eleID + ' a'), 7000*i);
});
function delayedTrigger(elem, delay){
timeouts.push(setTimeout(function(){ // push onto array
$(elem).trigger('click');
}, delay));
}
}, 21000);

$(".play").click(function(){
$.each(timeouts, function(i,v){ // clear all timeouts
clearTimeout(v);
});
clearInterval(myTimer);
});

关于jquery - setInterval 和 setTimeout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385555/

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