我正在使用以下代码来延迟触发器循环通过li项目列表
var eleID = '';
$('.SlideSelect').each(function(i) {
eleID = $(this).attr('id');
$('#'+eleID).delay(800*i).trigger('click');
});
但是,延迟不起作用,只会循环。
有人知道为什么吗?
var eleID = '';
$('.SlideSelect').each(function() {
eleID = $(this).attr('id');
setTimeout(function(){
$('#'+eleID).trigger('click');
}, 5000)
});
最佳答案
延迟用于动画队列。如果要延迟其他任何事情,则应使用setTimeout。请注意,使用单独的函数可以捕获延迟函数中的每个值。
var eleID = '';
$('.SlideSelect').each(function(i) {
eleID = $(this).attr('id');
delayedTrigger( $('#'+eleID), 800*i );
});
function delayedTrigger(elem, delay)
{
setTimeout( function() { $(elem).trigger('click'); }, delay );
}
关于jquery - jQuery延迟每个循环并触发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6572444/