簡體   English   中英

W3.CSS 導航選項卡 - 顯示 2 id

[英]W3.CSS Navigation Tabs - Show 2 id

我正在使用 W3.CSS 導航選項卡,但我遇到了問題。 我有 2 個 id,我想在人們時顯示 2 個 id,例如,單擊 Tab“London”然后顯示 2 個 id。 在 W3.CSS Navigation Tabs 代碼中,我只能同時顯示 1 個 id,但我不知道如何再添加 1 個 id 來顯示

W3.CSS 導航標簽代碼

<!DOCTYPE html>
<html>
<title>W3.CSS</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
<body>

<div class="w3-container">
  <h2>Tabs in a Grid</h2>

  <div class="w3-row">
    <a href="javascript:void(0)" onclick="openCity(event, 'London');">
      <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">London</div>
    </a>
    <a href="javascript:void(0)" onclick="openCity(event, 'Paris');">
      <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Paris</div>
    </a>
    <a href="javascript:void(0)" onclick="openCity(event, 'Tokyo');">
      <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Tokyo</div>
    </a>
  </div>

  <div id="London" class="w3-container city" style="display:none">
    <h2>London</h2>
    <p>London is the capital city of England.</p>
  </div>

  <div id="Paris" class="w3-container city" style="display:none">
    <h2>Paris</h2>
    <p>Paris is the capital of France.</p> 
  </div>

  <div id="Tokyo" class="w3-container city" style="display:none">
    <h2>Tokyo</h2>
    <p>Tokyo is the capital of Japan.</p>
  </div>
</div>

<script>
function openCity(evt, cityName) {
  var i, x, tablinks;
  x = document.getElementsByClassName("city");
  for (i = 0; i < x.length; i++) {
    x[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablink");
  for (i = 0; i < x.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" w3-border-red", "");
  }
  document.getElementById(cityName).style.display = "block";
  evt.currentTarget.firstElementChild.className += " w3-border-red";
}
</script>

</body>
</html>

一個簡單的解決方案是將多個城市名稱作為數組而不是單個城市名稱傳遞給openCity函數。

在以下示例中,當您單擊選項卡London時,將顯示 ID 為LondonParis的 2 個選項卡的內容。

 function openCity(evt, cityNames) { let i, x, tablinks; x = document.getElementsByClassName("city"); for (i = 0; i < x.length; i++) { x[i].style.display = "none"; } tablinks = document.getElementsByClassName("tablink"); for (i = 0; i < x.length; i++) { tablinks[i].className = tablinks[i].className.replace(" w3-border-red", ""); } cityNames.map(function(city) { document.getElementById(city).style.display = "block"; }); evt.currentTarget.firstElementChild.className += " w3-border-red"; }
 <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css"> <div class="w3-container"> <h2>Tabs in a Grid</h2> <div class="w3-row"> <a href="javascript:void(0)" onclick="openCity(event, ['London','Paris']);"> <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding w3-border-red">London</div> </a> <a href="javascript:void(0)" onclick="openCity(event, ['Paris']);"> <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Paris</div> </a> <a href="javascript:void(0)" onclick="openCity(event, ['Tokyo']);"> <div class="w3-third tablink w3-bottombar w3-hover-light-grey w3-padding">Tokyo</div> </a> </div> <div id="London" class="w3-container city"> <h2>London</h2> <p>London is the capital city of England.</p> </div> <div id="Paris" class="w3-container city" style="display:none"> <h2>Paris</h2> <p>Paris is the capital of France.</p> </div> <div id="Tokyo" class="w3-container city" style="display:none"> <h2>Tokyo</h2> <p>Tokyo is the capital of Japan.</p> </div> </div>

暫無
暫無

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

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