下面的代码应该在匹配集中的每个元素上执行click功能,延迟点击200毫秒,然后才能对每个元素生效。jQuery延迟匹配集中每个元素的点击函数
$('.panel').each(function(){
window.setTimeout($('a.last').click(),pdel);
pdel += 200;
});
这一切都发生在同一时间,超时功能不起作用。
下面的代码应该在匹配集中的每个元素上执行click功能,延迟点击200毫秒,然后才能对每个元素生效。jQuery延迟匹配集中每个元素的点击函数
$('.panel').each(function(){
window.setTimeout($('a.last').click(),pdel);
pdel += 200;
});
这一切都发生在同一时间,超时功能不起作用。
我假设pdel
被宣布为每个外。但是你会希望你的setTimeout
使用一个函数,否则你会将.click()
方法的结果传递给setTimeout
。
试试这个:
var pdel = 0;
$('.panel').each(function(){
setTimeout(function(){
$('a.last').click();
}, pdel);
pdel += 200;
});
删除窗口和复位时间函数作为一个jQuery函数:
var pdel = 0;
$('.panel').each(function(){
setTimeout(function(){ $('a.last').click(); },pdel);
pdel += 200;
});
QED
什么是$( “小组”)在此代码吗?是关于类“面板”的元素的数量?
只是计数的$金额( “板”):
var c = $(".panels").length;
var pdel = 200;
for(var i = 0; i < c; i++) {
window.setTimeout(function() { /* your function */ }, pdel*c)
}
而且你真的每200ms要被点击的所有a.last
-elements。不只是相应的.panel
中的那个?所以内部功能是:
function() { $(".panels").eq(c).find("a.last").click() }