javascript - 如何在使用 javascript 滚动到页面时向这些链接添加活动类?
问题描述
<div class="navbar">
<nav>
<ul class="navbar__navdiv" >
<li><a class="navbar__navdiv--a " href="#homePage">Home Page</a></li>
<li><a class="navbar__navdiv--a" href="#aboutMe" >About Me</a></li>
<li><a class="navbar__navdiv--a" href="#services" >Services</a></li>
<li><a class="navbar__navdiv--a" href="#projects" >Projects</a></li>
<li><a class="navbar__navdiv--a" href="#contactMe" >Contact Me</a></li>
</ul>
</nav>
</div>
解决方案
尝试这个
$(document).scroll(function(){
var thisScroll = $(this).scrollTop();
var topOfWindow = $(window).scrollTop();
if (topOfWindow <= $('#homePage').offset().top - 100 ){
$('.navbar__navdiv--a').removeClass("active");
$('.navbar1').addClass("active");
} else if (topOfWindow+100 >= $('#homePage').offset().top && topOfWindow+100 < $('#aboutMe').offset().top ){
$('.navbar__navdiv--a').removeClass("active");
$('.navbar2').addClass("active");
} else if (topOfWindow+100 >= $('#aboutMe').offset().top && topOfWindow+100 < $('#services').offset().top ){
$('.navbar__navdiv--a').removeClass("active");
$('.navbar3').addClass("active");
} else if (topOfWindow+100 >= $('#services').offset().top && topOfWindow+100 < $('#projects').offset().top ){
$('navbar__navdiv--a').removeClass("active");
$('.navbar4').addClass("active");
} else if (topOfWindow+100 >= $('#projects').offset().top ){
$('.navbar__navdiv--a').removeClass("active");
$('.navbar5').addClass("active");
}
})
<nav>
<ul class="navbar__navdiv" >
<li><a class="navbar__navdiv--a navbar1" href="#homePage">Home Page</a></li>
<li><a class="navbar__navdiv--a navbar2" href="#aboutMe" >About Me</a></li>
<li><a class="navbar__navdiv--a navbar3" href="#services" >Services</a></li>
<li><a class="navbar__navdiv--a navbar4" href="#projects" >Projects</a></li>
<li><a class="navbar__navdiv--a navbar5" href="#contactMe" >Contact Me</a></li>
</ul>
</nav>
推荐阅读
- c# - C# - 使用字段和方法,无需每次都重复对象名称
- c# - Teams 消息扩展无法访问我的服务
- java - 错误:此处不允许变量声明
- python - Fortran 77 数组到 Numpy 数组
- javascript - ajax 调用,将结果附加到选项的错误
- amazon-web-services - 在 AWS 上,为什么需要 Packer 生成 AMI,因为 ami_from_instance 存在于 terraform 中
- android - 从 ARCore 应用程序 (HelloAR) 将坐标 (x,y) 绘制到视图。膨胀类 MyView 时出错
- c# - 将 HTML 转换为 PDF 发票
- xml - How to Determine XML Element's Children Based on Value of Attribute
- yadcf - 启用滚动时无法初始化 yadcf 过滤器