我正在尝试用一些常见问题手风琴做一个练习项目。基本上我想要实现的是当我单击一个时,它会打开,当我再次单击时它会关闭,当一个打开并且我单击另一个时,前一个会关闭,因此只有一个手风琴处于活动状态。我设法分开做,但我遇到了一个问题,我要么打开并在点击时关闭同一个,要么在点击另一个时自动关闭。我怎么能两者兼得?
const questions = document.querySelectorAll('.faq');
const togglers = document.querySelectorAll('.toggle');
togglers.forEach((toggler) => {
toggler.addEventListener('click', () => {
removeActive();
toggler.parentNode.classList.toggle('active');
});
});
function removeActive() {
togglers.forEach((toggler) => toggler.parentNode.classList.remove('active'));
}
这是我的 JS 代码,我真的不明白为什么 classList.toggle 在调用它上面的删除函数时会丢失删除功能。
谁能以非常基本的业余方式解释它?
提前致谢!