关闭Bootstrap 4选项卡窗格

时间:2017-01-11 17:47:25

标签: jquery twitter-bootstrap tabs bootstrap-4

我在点击标签链接后试图打开/关闭Bootstrap 4选项卡窗格。基本上为每个选项卡窗格创建一个切换效果。最终产品是垂直侧边栏导航,您可以在其中打开/关闭每个选项卡窗格。

<ul class="nav nav-tabs" role="tablist">
  <li class="nav-item">
    <a class="nav-link active" data-toggle="tab" href="#home" role="tab">Home</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#profile" role="tab">Profile</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#messages" role="tab">Messages</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" data-toggle="tab" href="#settings" role="tab">Settings</a>
  </li>
</ul>

<!-- Tab panes -->
<div class="tab-content">
  <div class="tab-pane active" id="home" role="tabpanel">...</div>
  <div class="tab-pane" id="profile" role="tabpanel">...</div>
  <div class="tab-pane" id="messages" role="tabpanel">...</div>
  <div class="tab-pane" id="settings" role="tabpanel">...</div>
</div>


$(".nav-link.active").click(function(){
    $(this).find('.tab-pane').removeClass('active');
});

示例:http://codepen.io/anycircle/pen/dNMPrW

2 个答案:

答案 0 :(得分:0)

如果您在第二次单击导航后尝试隐藏活动的.tab-pane数据,则可以将jQuery更新为以下内容:

$(".nav-link").click(function(){
    if ($(this).hasClass('active')){
        $('#' + this.hash.substr(1).toLowerCase()).toggleClass('active');
    }
});

这是一个有效的代码: http://codepen.io/egerrard/pen/dNMyry

答案 1 :(得分:-1)

  <ul  class="nav nav-tabs  ">
      <li class=" nav-item "> <a class="nav-link active" href="#One" data-target="#One" data-toggle="tab"> One </a>  </li>
      <li class="nav-item"><a  class="nav-link" href="#Two" data-target="#Two" data-toggle="tab"> Two </a> <li>  
    </ul> 
  <div class="tab-content clearfix">
    <div class="tab-pane fade in active" id="One">
    This is one 
    </div>
    <div class="tab-pane fade  " id="Two">
    This is Two 
    </div>
  </div>