【发布时间】:2019-03-31 18:15:23
【问题描述】:
现在我正在重新创建一个 Bootstrap 元素“Toggleable / Dynamic Tabs”(你可以在那里找到它 - https://www.w3schools.com/bootstrap4/bootstrap_navs.asp),但我无法让我的内容运行。 “标签”按预期工作,但我不知道如何让它们在单击我想要的方式后显示内容。我希望它们在单击时显示“链接”的 div,并隐藏链接到其他按钮的 div。就像引导元素一样。非常感谢!
我有这样的东西:http://jsfiddle.net/Darlington/9kjst3rp/8
let tabs = Array.from(document.querySelectorAll('.subnavBtn'));
const handleClick = (e) => {
e.preventDefault();
tabs.forEach(node => {
node.classList.remove('active-btn');
});
e.currentTarget.classList.add('active-btn');
}
tabs.forEach(node => {
node.addEventListener('click', handleClick)
});
.subnavDiv {
display: none;
}
.active {
display: block;
}
.active-btn {
background-color: red;
}
<nav class="subnav">
<button class="subnavBtn">
Button 1
</button>
<button class="subnavBtn">
Button 2
</button>
<button class="subnavBtn">
Button 3
</button>
</nav>
<!-- DIVS I WANT TO SHOW -->
<div class="subnavDiv active">
Content 1
</div>
<div class="subnavDiv">
Content 2
</div>
<div class="subnavDiv">
Content 3
</div>
【问题讨论】:
-
这似乎是一个基本问题我猜这里已经存在解决方案。基本上,您可以添加像“tab-1”和“contentTab-1”这样的 ID 来查询相应的 tabContent,或者您可以将属性命名为 data-tab-content="1" 作为查询的选项
标签: javascript tabs