簡體   English   中英

如何使我的腳本循環並檢查所有處於活動狀態的按鈕? 香草js

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM