1

为了简单起见,我有两个“精选”块,第一个加载了features-active应用的类。

在计时器(在 jQuery 中)之后,我想features-active从第一个元素中删除该类,并将其应用于该类的下一个.features

这是我的 HTML:

<!-- Feature 1 -->

<div class="span3">
  <div class="features drop-shadow features-active">
    <h4><strong>SUPER</strong> RESPONSIVE</h4>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet...</p>
  </div>
</div>

<!-- Feature 2 -->

<div class="span3">
  <div class="features drop-shadow">
    <h4><strong>SUPER</strong> RESPONSIVE</h4>
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua Lorem ipsum dolor sit amet...</p>
  </div>
</div>

我唯一的问题(我今天感觉迟钝)是 - 在我的计时器触发后,我如何选择?.features之后的下一个元素div.features-active

这是我的 jQuery 不起作用:

var nextFeature = $('div.features-active').next('div.features');
4

5 回答 5

3

您需要.next()在节点的父节点上申请。

var nextFeature = $('div.features-active').parent('div.span3')
                                          .next('div.span3')
                                          .children('div.features');
于 2013-02-15T17:19:39.820 回答
1

没有下一个.features,他们有不同的父母吗?

var nextFeature = $('div.features-active').closest('.span3')
                                          .next('.span3')
                                          .find('div.features')
于 2013-02-15T17:19:21.400 回答
1

无需使用 .next()、.parent()、.children()、.find() 等来浪费所有开销,只需使用特征元素的索引即可。

var idx = 1;
setInterval(function () {
    $('div.features').removeClass('features-active');
    $('div.features').eq(idx).addClass('features-active');
    idx++;
}, 2000);

jsFiddle 示例

于 2013-02-15T17:42:53.280 回答
0

我想你正在寻找这个:http: //jsfiddle.net/umTPw/

setTimeout(function () {
   $('.features').removeClass('features-active').promise().done(function () {
      $(this).parent().next().find('.features').addClass('features-active');
   });
}, 2000);
于 2013-02-15T17:29:59.993 回答
-1

这个怎么样:

var nextFeature = $('div.features-active').next().find('div.features');
于 2013-02-15T17:21:22.620 回答