gpt4 book ai didi

javascript - 不使用 jQuery 突出显示事件 anchor 链接

转载 作者:行者123 更新时间:2023-12-04 09:37:59 24 4
gpt4 key购买 nike

我正在构建一个网站,它只有一个页面,但有不同的部分,例如,主页、关于、联系人等。我使用 anchor 标签滚动浏览页面的不同部分。我在页面顶部有一个固定的导航菜单,我想在导航链接中指明当前哪个部分处于事件状态。

我目前正在学习 JavaScript,所以我不知道该怎么做。我也想避免使用 jQuery。

最佳答案

我会使用 hashchange event为了这。每当它触发时,通过添加/删除类来更新您的导航。在以下示例中,该类称为“事件”。

window.addEventListener("hashchange", updateActiveNavigationEntry);

function updateActiveNavigationEntry () {
// query currently active item
const currentActiveItem = document.querySelector('#navigation a.active');
// remove active class
if (currentActiveItem) currentActiveItem.classList.remove("active");
// query new active item
const newActiveItem = document.querySelector('#navigation a[href="'+ window.location.hash +'"]');
// add active class to new entry
if (newActiveItem) newActiveItem.classList.add("active");
}
.active {
background: red;
}
<div id="navigation">
<a href="#section01">section01</a>
<a href="#section02">section02</a>
<a href="#section03">section03</a>
</div>

关于javascript - 不使用 jQuery 突出显示事件 anchor 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62466427/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com