将类添加到当前视图中元素的li项

时间:2013-05-20 18:00:56

标签: jquery

我可以平滑地滚动到元素。活动类将添加到选定的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>

Jquery:

$('.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();
});

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

我用过:

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

但它将测试类添加到所有li元素,但不是视图中的当前元素。

1 个答案:

答案 0 :(得分:0)

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