javascript - Bootstrap 4“全部”选项卡
问题描述
我使用 Bootstrap 4“tablist”创建了可切换的选项卡,它们是可切换的并且工作得很好。
我想创建一个“全部”选项卡,它将显示所有不同选项卡的所有内容,但不知道如何使“全部”选项卡工作!任何帮助是极大的赞赏!
这是我的标签标题:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<div>
<ul class="nav nav-tabs nav-justified" role="tablist">
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#cases">Cases</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#revrul">Rev. Rul.s & Notices</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#regs">Regulations</a></li>
</ul>
<div class="tab-content">
<div id="cases" class="container tab-pane active"><br>
<h3>Cases</h3>
<ul> Content for cases here</ul>
</div>
<div id="revrul" class="container tab-pane fade"><br>
<h3>Rev. Rul.s & Notices</h3>
<ul> Content for rulings here</ul>
</div>
</div>
<div id="regs" class="container tab-pane fade"><br>
<h3>Regulations</h3>
<ul> Content for regulations here </ul>
</div>
</div>
解决方案
您必须手动添加一些控制“全部”链接行为的 JS。
你想做的是:
- 创建一个用于显示所有内容的特殊选项卡,ID 为 #show_all
- 当您单击此选项卡时,它会将类 .active 和 .show 添加到所有窗格中,以便它们都可见。
- 当您单击没有#show_all ID 的选项卡时,它会从所有不是您要查找的选项卡窗格中删除类 .show 和 .active 。
这是一个工作片段。
$("#show_all").on("click", function() {
$(this).addClass("active").parent("li").siblings().find("a").removeClass("active");
$(".tab-pane").removeClass("fade").addClass("active").addClass("show");
});
$(".nav-link").not("#show_all").on("click", function() {
console.log(this.hash);
$(".tab-pane").not(this.hash).removeClass("active").removeClass("show");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" rel="stylesheet" />
<ul class="nav nav-tabs nav-justified" role="tablist">
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#cases">Cases</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#revrul">Rev. Rul.s & Notices</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#regs">Regulations</a></li>
<li class="nav-item"><a class="nav-link" href="#" id="show_all">All</a></li>
</ul>
<div class="tab-content">
<div id="cases" class="container tab-pane active"><br>
<h3>Cases</h3>
<ul> Content for cases here</ul>
</div>
<div id="revrul" class="container tab-pane fade"><br>
<h3>Rev. Rul.s & Notices</h3>
<ul> Content for rulings here</ul>
</div>
<div id="regs" class="container tab-pane fade"><br>
<h3>Regulations</h3>
<ul> Content for regulations here </ul>
</div>
</div>
推荐阅读
- java - 使用 mssp 将数字签名附加到 pdf
- android - 如何在反应原生博览会中将文件上传到服务器
- android - 在 Visual Studio 中使用 ionic + Cordova 我不断收到“未找到已安装的构建工具。安装 Android 构建工具版本 19.1.0 或更高版本。”
- google-apps-script - 无法从 Google App Scripts 打开 Slack 模式
- c++ - 嵌套 QGraphicsScenes 中的选择排除
- javascript - 在 react-native 中使用 javascript 插件时面临的问题
- npm - 在远程服务器上启动 npm 后无法访问 http://example.com:3000/
- javascript - 删除通过 html 输入上传的重复文件不起作用
- node.js - 通过 Plesk 托管的 Node.js 应用程序在夜间处于非活动状态,需要 HTTP Ping 重新激活
- sqlite - 如何导出 nsys 的输出 qdrep 文件?