jquery每个添加类中间延迟

前端之家收集整理的这篇文章主要介绍了jquery每个添加类中间延迟前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要遍历每个div .row来添加删除具有 CSS3 3D变换效果的翻转类.

当我使用jquery each()将每个“.row”应用此添加/删除类时,所有div都会在同一时间添加删除类“.flip”.我需要这个延迟,所以它看起来像多米诺骨牌效应.

知道如何让这个工作吗?或者如何逐个添加/删除翻转类?

这是我发现但它不起作用:

  1. $('.row').each(function(i){
  2. if($(this).hasClass('flip')){
  3. $(this).delay(i*500).removeClass('flip');
  4. }else{
  5. $(this).delay(i*500).addClass('flip');
  6. }
  7. });

解决方法

jQuery delay()方法只使用$(obj).delay(500).addClass(‘flip’)来延迟串联方法队列中的下一个部分.它不会延迟所有后续代码行. (查看 first example以及代码如何并行运行其动画)

请尝试使用setTimeout().

  1. $('.row').each(function(i){
  2. var row = $(this);
  3. setTimeout(function() {
  4. row.toggleClass('flip');
  5. },500*i);
  6. });​

Fiddle

猜你在找的jQuery相关文章