我希望在滚动页面时突出显示活动部分。
但我收到错误消息:“未捕获的 DOMException:无法在‘文档’上执行‘querySelector’:提供的选择器为空。”
为什么?如何解决这个问题?
js:
window.addEventListener('scroll', event=>{
let navigationLinks = document.querySelectorAll('nav ul li a');
let fromTop = window.scrollY;
navigationLinks.forEach(link=>{
let section = document.querySelector(link.hash);
if (section.offsetTop <=fromTop &&
section.offsetTop + section.offsetHeight > fromTop
){
link.classList.add('active');
} else{link.classList.remove('active');}
})
});
HTML:
<nav>
<ul class="nav-links">
<li><a class="active" href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<section>
<div id="about"></div>
<div id="contact"></div>
</section>
CSS:
nav a.active{
color: darkcyan;
border-bottom: 2px solid darkgoldenrod;
}
德玛西亚99
相关分类