bootstrap-4 - 用引导程序折叠三列
问题描述
我正在尝试制作三个具有交叉引用的选项卡,其中一个选项卡当时可见。我正在使用带有 jQuery 支持的功能的 bootstrap v4 折叠方案。这是示例:https ://jsfiddle.net/omjvhurd/30/
$(document).ready(function() {
$("#Tab2_t1").click(function() {
$('#t1').collapse('hide');
$('#t1').on('hidden.bs.collapse', function () {
$('#t2').collapse('show');
});
})
$("#Tab3_t1").click(function() {
$('#t1').collapse('hide');
$('#t1').on('hidden.bs.collapse', function () {
$('#t3').collapse('show');
});
})
$("#Tab1_t2").click(function() {
$('#t2').collapse('hide');
$('#t2').on('hidden.bs.collapse', function () {
$('#t1').collapse('show');
});
})
$("#Tab3_t2").click(function() {
$('#t2').collapse('hide');
$('#t2').on('hidden.bs.collapse', function () {
$('#t3').collapse('show');
});
})
$("#Tab1_t3").click(function() {
$('#t3').collapse('hide');
$('#t3').on('hidden.bs.collapse', function () {
$('#t1').collapse('show');
});
})
$("#Tab2_t3").click(function() {
$('#t3').collapse('hide');
$('#t3').on('hidden.bs.collapse', function () {
$('#t2').collapse('show');
});
})
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>
<div class="container">
<div class="row">
<div class="col-sm-9 collapse show" id="t1">
<a href="#" role="button" id="Tab2_t1">Tab 2</a>
<a href="#" role="button" id="Tab3_t1">Tab 3</a>
</div>
<div class="col-sm-9 collapse" id="t2">
<a href="#" role="button" id="Tab1_t2">Tab 1</a>
<a href="#" role="button" id="Tab3_t2">Tab 3</a>
</div>
<div class="col-sm-9 collapse" id="t3">
<a href="#" role="button" id="Tab1_t3">Tab 1</a>
<a href="#" role="button" id="Tab2_t3">Tab 2</a>
</div>
</div>
</div>
问题是当我单击选项卡 2、选项卡 1 和选项卡 3 时,我看到两个选项卡同时显示。知道错误来自哪里吗?
解决方案
只需在点击功能上隐藏.collapse
和显示标签 ID:
$(document).ready(function() {
$("#Tab2_t1").click(function() {
$('.collapse').collapse('hide');
$('#t2').collapse('show');
})
$("#Tab3_t1").click(function() {
$('.collapse').collapse('hide');
$('#t3').collapse('show');
})
$("#Tab1_t2").click(function() {
$('.collapse').collapse('hide');
$('#t1').collapse('show');
})
$("#Tab3_t2").click(function() {
$('.collapse').collapse('hide');
$('#t3').collapse('show');
})
$("#Tab1_t3").click(function() {
$('.collapse').collapse('hide');
$('#t1').collapse('show');
})
$("#Tab2_t3").click(function() {
$('.collapse').collapse('hide');
$('#t2').collapse('show');
})
});
推荐阅读
- ruby - 其值总和为特定值的哈希键
- python - 往返于 json 的 Pandas 时间戳
- java - 什么是与 Math.floorMod() 完全相同但使用浮点数而不是整数的方法?
- mysql - laravel - mysql - 如何迁移表
- database - 什么数据库/数据结构用于离散的 2D(横向)值映射?
- google-chrome-extension - 通过控制台将数据存储到 chrome.storage.sync 以获取 Chrome 扩展程序?
- c# - Microsoft.Dynamic.dll 中发生错误“IronPython.Runtime.Exceptions.ImportException”附加信息:没有名为 _imp 的模块
- firebase - Firebase 实时数据库与 Cloud Firestore
- python - 如何将两只蜘蛛合二为一?
- r - “长度”名称始终显示在输出中 - R 编程