[英]How can I make my script loop and check all buttons that are active? vanilla js
當您再次單擊時,按鈕已經關閉,但我不知道如何讓它檢查所有其他按鈕並刪除所有“活動”類。
抱歉,如果這是一個愚蠢的問題,但無論如何謝謝。
const openMenuButton = document.querySelectorAll('[data-modal-target]');
openMenuButton.forEach(button => {
button.addEventListener('click',() => {
const modal = document.querySelector(button.dataset.modalTarget);
swapMenu(modal);
})
});
function swapMenu(modal) {
const menuOpen = modal.classList.contains('menu-active');
if(menuOpen == true) {
modal.classList.remove('menu-active');
} else {
modal.classList.add('menu-active');
};
}
編輯: https://jsfiddle.net/oqjz3fgy/5/這就是我想要做的。 我可能把事情復雜化了。 在此之前,我只知道基本的 javascript 語法。
如果我錯了或不明白你的問題,我很抱歉。 但是,您可以這樣做。
如果你的代碼是這樣的:
<div id = 'modal' or class = 'modal'>
<button class ='menu-active'>click me </button>
.....
.....
</div>
function swapMenu(modal) {
const menuOpen = document.querySelectorAll('#modal button'); // select all active menu
for( let i = 0;i < menuOpen.length;i++){
if(menuOpen[i].classList.contains("menu-active")){
menuOpen[i].classList.remove('menu-active');
}
else{
menuOpen[i].classList.add('menu-active');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.