javascript - 当用户滚动到新部分时,我需要使用 addEventListener 向部分添加“活动”类
问题描述
当用户将部分滚动到视口时,我想向这些部分添加一个“活动”类,以便向用户显示他们所在的部分。我已经编写了下面的代码,但它不起作用。请帮忙。
const sections = document.querySelectorAll('section');
window.addEventListener('scroll', function scrolling() {
sections.forEach((section) => {
if (isInViewport(section)) {
section.classList.add('active');
} else {
section.classList.remove('active');
}
});
});
<header class="page__header">
<nav class="navbar__menu">
<!-- Navigation starts as empty UL that will be populated with JS -->
<ul id="navbar__list"></ul>
</nav>
</header>
<main>
<header class="main__hero">
<section id="section1" data-nav="Section 1" class="your-active-class">
<div class="landing__container">
<h2>Section 1</h2>
<p>Lorem ipsum dolor sit amet.</p>
<p>Aliquam a convallis justo. .</p>
</div>
</section>
<section id="section2" data-nav="Section 2" class="your-active-class">
<div class="landing__container">
<h2>Section 2</h2>
<p>Lorem ipsum dolor sit amet.</p>
<p>Aliquam a convallis justo.n.</p>
</div>
解决方案
推荐阅读
- javascript - 使用一个查询通过一个输入查找多个表
- azure-ad-b2c - 如何在基于 IEF 的 IDP 元数据中配置 SAML NameID 格式?
- javascript - 从父类更新反应功能组件的状态
- talend - 子作业中的上下文默认值为 Null
- c# - 在特定时间安排任务
- ibm-mq - IBM MQ 同步点和 dotnet
- javascript - 使用 page.evaluate 时出现 Puppeteer 错误:TypeError: Cannot read property 'innerText' of null
- javascript - 尽管在服务器站点上成功,ajax 调用仍然失败
- javascript - Slimselect:搜索后选择第二个选项不起作用
- spring-kafka - KafkaTemplate.send(键,值,主题)与自定义分区?