下面的代码应该对匹配集中的每个元素执行一个点击函数,在它对每个元素生效之前将点击延迟 200 毫秒。
$('.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;
});
量子点
$(".panel") 在这段代码中有什么作用?是关于“面板”类的元素数量吗?
只需计算 $(".panels") 的数量:
var c = $(".panels").length;
var pdel = 200;
for(var i = 0; i < c; i++) {
window.setTimeout(function() { /* your function */ }, pdel*c)
}
你真的每 200 毫秒都想要a.last
点击所有元素吗?不只是对应的那个.panel
?所以内部函数是:
function() { $(".panels").eq(c).find("a.last").click() }