当我们单击主菜单中的另一个选项卡并返回到第一个菜单时,第二个菜单(第二个选项卡)失去其活动状态(没有打开的选项卡)
此外,is-active链接上的状态被删除。
我不知道如何不影响子标签。
这是查看问题的链接。
<div class="container js-tabs-container">
<div class="tabs">
<ul>
<li class="is-active" data-tab="tab-1"><a>Link 1</a></li>
<li data-tab="tab-2"><a>Link 2</a></li>
</ul>
</div>
<div class="js-tab-content" id="tab-1">
<p>Tab 1</p>
<!-- Nesting tabs -->
<div class="container js-tabs-container">
<div class="tabs">
<ul>
<li class="is-active" data-tab="tab-2-1"><a>Link 2-1</a></li>
<li data-tab="tab-2-2"><a>Link 2-2</a></li>
</ul>
</div>
<div class="js-tab-content" id="tab-2-1">
<p>Tab 2-1</p>
</div>
<div class="js-tab-content" id="tab-2-2">
<p>Tab 2-2</p>
</div>
</div>
</div>
<div class="js-tab-content" id="tab-2">
<p>Tab 2</p>
</div>
</div>
document.addEventListener('DOMContentLoaded', function () {
var tabs = document.getElementsByClassName('tabs');
if (tabs) {
var _loop = function _loop() {
var tabListItems = tabs[i].querySelectorAll('.tabs-menu-item');
tabListItems.forEach(function(tabListItem) {
// création d'un écouteur d'évènements sur le clic d'une tab
tabListItem.addEventListener('click', function () {
// suppression de la classe is-active sur chacune des tabs avant de la rajouter sur la tab qui a été cliquée
tabListItems.forEach(function(tabListItem) {
tabListItem.classList.remove('is-active');
});
tabListItem.classList.add('is-active');
// tabName correspond à la valeur de l'attribut data-tab
var tabName = tabListItem.dataset.tab;
浮云间
相关分类