0

我可以平滑滚动到元素。活动类被添加到选定的 li。一切正常,直到我用鼠标向下滚动,而不是活动类没有添加到当前元素 li。

我在用:

<ul class="features">
<li class="active"><a href="#block1">block 1</a></li>
<li class="active"><a href="#block2">block 2</a></li>
<li class="active"><a href="#block3">block 3</a></li>
<li class="active"><a href="#block4">block 4</a></li>
</ul>

<div id="block1">my content....</div>
<div id="block2">my content....</div>
<div id="block3">my content....</div>
<div id="block4">my content....</div>

查询:

$('.menu-features li > a').click(function() {
$('.menu-features li').removeClass();
$(this).parent().addClass('active');
});

$('a[href^="#"]').click(function() {
$('html,body').animate({ scrollTop: $(this.hash).offset().top-120}, 700);
return false;
e.preventDefault();
});

我尝试使用航点插件来检测视图中的元素,但是如何将 li 标记为与块 id 相同的 id?

我用了:

$('#block3').waypoint(function(direction) {
    $('.menu-features li').addClass('test')
});

但它将测试类添加到所有 li 元素,但不适用于当前视图。

4

1 回答 1

0

试试 $(this).find('.menu-features li').addClass('test');

于 2013-05-20T18:14:12.547 回答