jQuery addClass循环从last-child开始

时间:2015-04-14 17:25:27

标签: javascript jquery loops

每个东西都可以工作500毫秒,它会将一个类添加到行中的下一个blockWrap元素中。

但我想要它做的是从最后一个" blockWrap"开始。元素,添加类,然后继续前进。我怎样才能做到这一点?

这是我的HTML:

<div class="blockWrap">
    <div class="blockImg">
      <img src="img/download.jpg">
    </div>
  </div>
  <div class="blockWrap">
    <div class="blockImg">
      <img src="img/download.jpg">
    </div>
  </div>
  <div class="blockWrap">
    <div class="blockImg">
      <img src="img/download.jpg">
    </div>
  </div>

这是我的jQuery循环:

$(document).ready(function(){
  $(function () {
    var block = $('.blockWrap');
    (function _loop(wrap) {
      block.eq(wrap).addClass('slideIn');
      setTimeout(function () {
        _loop((wrap + 1) % block.length);
      }, 500);
    }(0));
  });
});

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

使用下面的代码。将block.length作为参数传递并扣除值-1。它会从下到上添加类

$(function () {
var block = $('.blockWrap');
 (function _loop(wrap) {
  block.eq(wrap).addClass('slideIn');
    setTimeout(function () {
       _loop((wrap - 1) % block.length);
    }, 500);
   }(block.length));
});