我可以平滑地滚动到元素。活动类将添加到选定的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元素,但不是视图中的当前元素。
答案 0 :(得分:0)
尝试$(this).find('。menu-features li')。addClass('test');