我创建了基于此页面上的代码的html页面中的选项卡。https://www.w3schools.com/w3css/w3css_tabulators.asp
<h1>First Tab</h1>
<div class="w3-light-grey">
<a class="codebtn w3-dark-grey" onclick="openCode(event, 'TabA1')" id="myLink">Tab A1</a>
<a class="codebtn" onclick="openCode(event, 'TabA2')">Tab A2</a>
</div>
<div id="TabA1" class="code">
<pre><code class="language-sh" data-lang="sh">
Code Here
Code Here
Code Here
</code></pre>
</div>
<div id="TabA2" class="code" style="display:none">
<pre><code class="language-sh" data-lang="sh">
More Code
More Code
More Code
</code></pre>
</div>
<h2>Second Tab</h2>
<div class="w3-light-grey">
<a class="codebtn w3-dark-grey" onclick="openCode(event, 'TabB1')" id="myLink">Tab B1</a>
<a class="codebtn" onclick="openCode(event, 'TabB2')">Tab B2</a>
</div>
<div id="TabB1" class="code">
<pre><code class="language-sh" data-lang="sh">
Another Tab Contents
Another Tab Contents
Another Tab Contents
</code></pre>
</div>
<div id="TabB2" class="code" style="display:none">
<pre><code class="language-sh" data-lang="sh">
2nd Tab
2nd Tab
2nd Tab
</code></pre>
</div>
如果我只有1个选项卡部分,它的工作,但如果我有2个或更多,有一个问题。当我点击第一个选项卡部分的一个选项卡,它会影响所有选项卡部分,你可以在这里看到。https://codepen.io/mochi777/pen/YzOaoML
第一个选项卡和第二个选项卡应该是独立的。当我加载页面时,它显示正常。当我单击“选项卡A2”时,选项卡B1和B2的内容消失。除了创建一个单独的javascript之外,解决这个问题的最佳方法是什么?
当我点击“标签A2”,标签B1和B2应该不会受到影响。我知道我可以改变类,并创建一个单独的javascript将解决这个问题,但如果我有许多标签表,这将是一个问题。我正在寻找一个更好的方法来解决这个问题。
1条答案
按热度按时间k5ifujac1#
乍一看,您的代码并不区分“选项卡集”,因此当您打开一个选项卡集时,您将关闭所有其他选项卡集(包括来自其他选项卡集的选项卡集)。
您可以通过制作某种过滤器来补救这一点,比如说“只删除 * 此 * 集”。
这当然可以通过多种方式实现,最明显的方式是,例如:
一个二个一个一个