需要在 .each 元素之间添加时间延迟
Need to add time delay between .each elements
我需要帮助插入一些东西,比如执行 "code()" 之间的延迟。例如,我希望它每 4 seconds.So 一个接一个地执行,就像第一个执行一样,4 秒后代码对给定 class 的每个元素再次执行,依此类推。
我还在那个 "code()" 中使用 .this,所以我需要它留在那里,因为例如我正在获取每个给定 class 的 ID 并使用它。
var myFunction = function(){
$(".someClass").each( function(){
if( this.style.opacity != "0.5" ){
code();
}
});
};
您可以简单地使用 each
循环索引来使用超时来延迟它:
var myFunction = function() {
$(".someClass").each(function(i) {
setTimeout(function() {
if (this.style.opacity != "0.5") {
code();
}
}.bind(this), i * 4000); // bind relevant context
});
};
其他版本,使用filter()
:
var myFunction = function() {
$(".someClass").filter(function(){
return this.style.opacity != "0.5";
}).each(function(i) {
setTimeout(code.bind(this), i * 4000);
});
};
我需要帮助插入一些东西,比如执行 "code()" 之间的延迟。例如,我希望它每 4 seconds.So 一个接一个地执行,就像第一个执行一样,4 秒后代码对给定 class 的每个元素再次执行,依此类推。
我还在那个 "code()" 中使用 .this,所以我需要它留在那里,因为例如我正在获取每个给定 class 的 ID 并使用它。
var myFunction = function(){
$(".someClass").each( function(){
if( this.style.opacity != "0.5" ){
code();
}
});
};
您可以简单地使用 each
循环索引来使用超时来延迟它:
var myFunction = function() {
$(".someClass").each(function(i) {
setTimeout(function() {
if (this.style.opacity != "0.5") {
code();
}
}.bind(this), i * 4000); // bind relevant context
});
};
其他版本,使用filter()
:
var myFunction = function() {
$(".someClass").filter(function(){
return this.style.opacity != "0.5";
}).each(function(i) {
setTimeout(code.bind(this), i * 4000);
});
};