【问题标题】:Collapsing three columns with bootstrap用引导程序折叠三列
【发布时间】:2020-05-30 21:58:48
【问题描述】:

我正在尝试制作三个带有交叉引用的选项卡,同时一个选项卡可见。我正在使用带有 jQ​​uery 支持的功能的 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 时,我看到两个选项卡同时显示。知道错误来自哪里吗?

【问题讨论】:

    标签: bootstrap-4 tabs collapse


    【解决方案1】:

    只需隐藏 .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');
        })
    });
    

    这是小提琴:https://jsfiddle.net/Maro94/cr6d9L03/3/

    【讨论】:

    • 谢谢马罗!虽然它按预期工作,但它没有在显示新标签之前卷起标签的效果。重点是在我的情况下,我想保持标签在点击时会向上和向下滚动的印象。
    • 哦,好的。我为你做了一个小提琴:https://jsfiddle.net/Maro94/cr6d9L03/28/。您的代码的问题在于,当您在选项卡上调用 collapse('show') 时,您不会将其隐藏起来。希望我对你有所帮助:)
    猜你喜欢
    • 1970-01-01
    • 2020-10-25
    • 2013-03-10
    • 2021-09-13
    • 2017-01-19
    • 2017-03-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-23
    相关资源
    最近更新 更多