簡體   English   中英

我怎樣才能關閉除打開的那個之外的所有 div?

[英]How can I close all divs except the one which is open?

所以我有一個 div,里面有 10 個其他 div。 他們都顯示=“無”。 每個 div 都與一個圖像鏈接,當您單擊圖像時,鏈接的 div 會打開。 但是只有當我再次點擊圖像時,div 才能關閉。 但是如果我點擊所有 10 張圖片,所有 10 個 div 都會打開並且它們相互重疊。

我該如何解決一次只能顯示 1 個 div? 因此,如果打開一個 div 並單擊一個新圖像; 舊的 div 消失了,新的 div 出現了?

function hideShowDiv() {
function showDiv() {
    if(kledingInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv2() {
    if(ewlInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv3() {
    if(onderwijsInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv4() {
    if(overigeInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv5() {
    if(vrijeTijsInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
}
hideShowDiv();

所以這就是我嘗試過的方法,但沒有用。 所有的 div 都有類信息。

根據您發布的代碼

function hideShowDiv() {
function showDiv() {
    if(kledingInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv2() {
    if(ewlInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv3() {
    if(onderwijsInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv4() {
    if(overigeInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
  function showDiv5() {
    if(vrijeTijsInfo.style.display = "inline-block") {
        document.querySelectorAll(".info").style.display = "none";
    }
  }
}
hideShowDiv();

有幾件事,首先,你在嵌套函數。 當您調用 hideShowDiv() 時,您只是定義了 5 個函數,而不是執行其中的任何一個。 要存檔您描述的內容,您只需要 document.querySelectorAll(".info").style.display = "none"; 首先然后運行所有的 if 語句。 像這樣:

function hideShowDiv(element) {
    document.querySelectorAll(".info").style.display = "none";
    element.style.display = "inline-block") 
}

hideShowDiv(document.getElementById("whatevertheidis"));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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