私はいくつかのよくあるアコーディオンで練習プロジェクトをやろうとしています。基本的に私が達成したいのは、1つをクリックすると開き、もう一度クリックすると閉じ、1つを開いて別のものをクリックすると、前のものは閉じるので、アクティブなアコーディオンは1つだけです。私はそれを別々に行うことができましたが、同じものを開いてクリックすると閉じるか、別のものをクリックすると自動的に閉じるという問題に遭遇しました。どうすれば両方を持つことができますか?
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 が削除機能を失った理由が本当にわかりません。
非常に基本的なアマチュアのやり方で説明できる人はいますか?
前もって感謝します!