在一个具有不同ids的页面上,我有不同的div部分。示例:
<section>
<div id="first"></div>
</section>
<section>
<div id="second"></div>
</section>
<section>
<div id="third"></div>
</section>我有一个水平导航,例如:
<div class="nav">
<ut>
<li><a href="#first">First</a></li>
<li><a href="#second">Second</a></li>
<li><a href="#third">Third</a></li>
</ul>
</div>我想要的是:
<div id="second"></div>,那么<li><a href="#second">Second</a></li>的颜色应该会改变。请帮我发展一下。
发布于 2017-02-07 14:04:53
我找到了答案的解决办法。下面的代码可以完成所有操作。它从URL中更改#id,并据此更改导航字体的颜色。
代码:
$(document).bind('scroll',function(e){
$('div').each(function(){
if ($(this).offset().top < window.pageYOffset + 10 && $(this).offset().top + $(this).height() > window.pageYOffset + 10){
window.location.hash = $(this).attr('id');
if($(this).attr('id') == "first"){
$("#navlist a").css('color', 'white');
$("#nav1").css('color', 'red');
}else if($(this).attr('id') == "second"){
$("#navlist a").css('color', 'white');
$("#nav2").css('color', 'red');
}else if($(this).attr('id') == "third"){
$("#navlist a").css('color', 'white');
$("#nav3").css('color', 'red');
}
}
});
});https://stackoverflow.com/questions/42089851
复制相似问题