【发布时间】:2016-08-24 16:50:44
【问题描述】:
当您向下滚动到该部分时,我试图突出显示菜单项。 突出显示有效,但由于某种原因,当滚动到其他部分时,我无法删除突出显示
这是我的菜单的样子:
<div id="navbar">
<ul class="nav navbar-nav">
<li class="active"><a data-id="home" href="#home">Home</a></li>
<li class="navbar-right"><a data-id="cont" href="#contact">Contact</a></li>
<li class="navbar-right"><a data-id="exp" href="#exp">Expertise</a></li>
<li class="navbar-right"><a data-id="wie2" href="#wie2">Wie</a></li>
</ul>
</div>
在每个部分的 html 中,我使用了我添加的 id 锚点 class="section"
这是我的 jQuery:
jQuery(window).scroll(function () {
var position = jQuery(this).scrollTop();
jQuery('.section').each(function() {
var target = jQuery(this).offset().top;
var id = jQuery(this).attr('id');
if (position >= target) {
jQuery('#navbar>ul>li>a').removeClass('clicked');
jQuery('#navbar ul li a[data-id=' + id + ']').addClass('clicked');
}
});
});
有人知道为什么这个类每次都被删除吗?因为当我注释掉jQuery('#navbar>ul>li>a').removeClass('clicked'); 时效果很好。类被正确添加。但是删除它们不起作用:(
【问题讨论】:
标签: javascript jquery html css