Jquery .each 延迟问题

Jquery .each delay issue

本文关键字:问题 延迟 each Jquery      更新时间:2023-09-26

我正在尝试用JavaScript做一些事情并尝试一些问题。

这是我的 Html 代码:

<div class="views-row"></div>
<div class="views-row"></div>
<div class="views-row"></div>
<div class="views-row"></div>

在 JavaScript 中,我尝试延迟地为每个div 添加一个类,但我无法做到这一点。我的JS来了

$('.views-row').each(function(){
            $(this).addClass("test").delay(1000);
});

我不知道怎么了,有人知道吗?

感谢您的帮助;)

jQuery的delay()主要用于动画,改用setTimeout

$('.views-row').each(function(index, elem){
    setTimeout(function() {
        $(elem).addClass("test");
    }, index * 1000);
});

小提琴

setTimeout.each的参数一起使用index.bind()会将this值传递给目标函数。

试试这个:

$('.views-row').each(function(index) {
  setTimeout(function() {
    $(this).addClass("test");
  }.bind(this), index * 1000);
});
.test {
  background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<div class="views-row">Test</div>
<div class="views-row">Test</div>
<div class="views-row">Test</div>
<div class="views-row">Test</div>

在这里摆弄