gpt4 book ai didi

javascript - 当前与 JS ES6 的事件链接

转载 作者:行者123 更新时间:2023-11-30 19:44:16 25 4
gpt4 key购买 nike

我目前正在尝试修复我的导航栏,以便当前链接将应用“事件”类。

我已经成功设置了切换,但我真的很难找到有关如何从其他链接中清除该类的资源。

这里的一切似乎都主要集中在我有意避免的 JQuery 上。

这是我的代码:

<div class="navbar">
<a href="#" class="toggle" id="nav-hamburger">
<i class="fas fa-bars"></i>
<a href="#" class="brand">Appeal Digital</a>
</a>
<div class="links">
<a href="#" class="link active">Home</a>
<a href="#" class="link">Who are we?</a>
<a href="#" class="link">Meet the Team</a>
<a href="#" class="link">Contact Us</a>
</div>
</div>


const toggleBtn = document.querySelector('#nav-hamburger');
toggleBtn.addEventListener('click', (el) => {

//TOGGLE NAV BUTTON
const links = document.querySelector('.links');
links.classList.toggle('links-show');
});

const links = document.getElementsByClassName('link');

for(let el of links) {

el.addEventListener('click', (e) => {
el.classList.remove('active');
el.classList.toggle('active');

});
}

最佳答案

如果您单击菜单链接并为单击的链接设置 .active 类,我将删除所有 .active 类。

const links = document.querySelectorAll('.links > a');

const changeActive = (e) => {
[...links].forEach(link => link.classList.remove('active'));
e.target.classList.add('active');
}

[...links].forEach(e => e.addEventListener('click', changeActive));
.active {
font-weight: bold;
}
<div class="navbar">
<a href="#" class="toggle" id="nav-hamburger">
<i class="fas fa-bars"></i>
<a href="#" class="brand">Appeal Digital</a>
</a>
<div class="links">
<a href="#" class="link active">Home</a>
<a href="#" class="link">Who are we?</a>
<a href="#" class="link">Meet the Team</a>
<a href="#" class="link">Contact Us</a>
</div>
</div>

关于javascript - 当前与 JS ES6 的事件链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55083721/

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