setInterval 和 setTimeout
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 时,我试图清除以上所有内容。
有什么帮助吗?
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);
});
The first interval is 21 seconds, of the first instance.
the 2nd interval is 3 7-second instances (what I want).
I'm trying to clear all of the above when I click .play.
Any help?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
clearTimeout
需要传递一个超时ID,该ID由setTimeout
返回。clearTimeout();
不执行任何操作。您可以将setTimeout
的返回值推送到数组中,然后循环遍历它们,并运行clearTimeout
。clearTimeout
needs to be passed a timeout ID, this ID is returned bysetTimeout
.clearTimeout();
does nothing. You can push the return values fromsetTimeout
into an array, and then loop through them, and runclearTimeout
.