javascript - jquery延迟将类添加到多个元素

标签 javascript jquery

我有 3 个类名为 gridbox 的 div 元素 我想延迟将一个类添加到所有 3 个元素中。

例如:

新类应该添加到所有 3 个 div 元素,每个元素之间有一个延迟。

我尝试了以下无效的代码。

$('.gridbox').addClass('animation').delay(1500);

这里有什么问题吗?

最佳答案

你可以尝试这样的事情:

var divs = $( '.gridbox' );
var index = 0;

var delay = setInterval( function(){
  if ( index <= divs.length ){
    $( divs[ index ] ).addClass( 'animation' );
    index += 1;
  }else{
    clearInterval( delay );
  }
}, 1500 );

我在这里做的是:

  1. 提取所有元素并将它们存储在 divs 变量中。
  2. 保存您当前使用的元素的索引。
  3. 启动一个延迟 1.5 秒的 setTimeout 函数。
  4. 如果我们不在元素列表的末尾,将类转换为 jQuery 元素后将其添加到相关元素。
  5. 增加我们的索引变量。
  6. 在我们遍历所有元素后停止 setTimeout。

关于javascript - jquery延迟将类添加到多个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20880580/

相关文章:

javascript - JavaScript 中的 define(function(require){...}) 究竟是什么

javascript - 在javascript中从数组中获取随机X个项目

javascript - 在源文件之前在 Jasmine on Rails 3.1 插件上加载 jQuery

jquery - 处理数据传递的适当方法 MySQL->JSON->PHP?

javascript - 鼠标悬停时显示div

c# - 使用jquery ajax上传文件

javascript - 在加载 javascript 动画之前图像显示 1 秒

javascript - 2个div之间的神秘空间

javascript - 选择 parent 的第二个 sibling

javascript - 使用 Chosen 插件更改选择中的选择