【问题标题】:Bootstrap 3: Tabs: How to create an 'all' tab that shows all content?Bootstrap 3:标签:如何创建一个显示所有内容的“全部”标签?
【发布时间】:2018-05-13 12:51:49
【问题描述】:

我正在使用 Bootstrap 3,我想添加一个“全部”选项卡,该选项卡将显示所有其他单个选项卡的内容。 我总共有 3 个标签。 “正在进行”:显示正在进行的项目。 “已完成”:显示已完成的项目。 “翻新”:展示翻新项目。 现在,我正在尝试添加一个显示所有项目的“全部”选项卡。

我们已经有an answer for the same to achieve in Bootstrap 2。但它似乎不适用于 Bootstrap 3。请在上面链接的答案中检查 bootply 的输出。这正是我想要达到的目标。

【问题讨论】:

    标签: twitter-bootstrap tabs


    【解决方案1】:
     <ul class="nav nav-tabs" role="tablist">
          <li><a id="tabAll" href="#">All</a></li>
          <li class="active">
              <a href="#on" role="tab" data-toggle="tab">
                Ongoing
              </a>
          </li>
           <li>
              <a href="#com" role="tab" data-toggle="tab">
                  Completed
              </a>
          </li>
           <li>
              <a href="#ren" role="tab" data-toggle="tab">
                   Renovated
              </a>
          </li>
    </ul>
    
    <div class="tab-content">
          <div class="tab-pane fade active in" id="on">
              <h2>Ongoing</h2>
    
          </div>
         <div class="tab-pane fade" id="com">
              <h2>Completed</h2>
    
          </div>
         <div class="tab-pane fade" id="ren">
              <h2>Renovated</h2>
    
          </div>
    </div>
    
    $('#tabAll').on('click',function(){
      $('#tabAll').parent().addClass('active');  
      $('.tab-pane').addClass('active in');  
      $('[data-toggle="tab"]').parent().removeClass('active');
    });
    

    Fiddle

    【讨论】:

    • 感谢老兄,成功了!有没有办法让特定选项卡处于活动状态并在页面加载时加载其内容?
    • 您可以为预期的 li 及其部分提供一个活动类。就像你看到的例子一样,#on 被赋予了活动类。
    • 抱歉,我认为我的问题不准确。基于url的具体手段,活动标签应该有所不同。 mypage.html#com 之类的内容应该显示已完成,而 mypage.html#ren 应该显示翻新项目。
    • 您可以通过在页面加载时使用window.location.hash 来触发锚href
    • 为什么不&lt;a id="tabAll" data-toggle="tab" href=".tab-content.tab-pane"&gt;
    【解决方案2】:

    您可以在此处使用此示例:https://www.bootply.com/60331
    js代码:

    $('#tabAll').click(function(){
      $('#tabAll').addClass('active');  
      $('.tab-pane').each(function(i,t){
        $('#myTabs li').removeClass('active'); 
        $(this).addClass('active');  
      });
    });
    

    HTML:

    <div class="tabbable" id="myTabs">
      <ul class="nav nav-tabs">
        <li><a id="tabAll">All</a></li>
        <li class="active"><a href="#tab1" data-toggle="tab">Section 1</a></li>
        <li><a href="#tab2" data-toggle="tab">Section 2</a></li>
        <li><a href="#tab3" data-toggle="tab">Section 3</a></li>
      </ul>
      <div class="tab-content">
        <div class="tab-pane active" id="tab1">
          <p>I'm in Section 1.</p>
        </div>
        <div class="tab-pane" id="tab2">
          <p>Howdy, I'm in Section 2.</p>
        </div>
        <div class="tab-pane" id="tab3">
          <p>Howdy, I'm in Section 3.</p>
        </div>
      </div>
    </div>
    

    【讨论】:

    • 欢迎提供指向解决方案的链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及它存在的原因,然后引用最相关的您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted.
    • 你也可以通过更少的代码来做到这一点:.nav-tabs>li>a').tab('show'); - 此代码将显示所有选项卡
    • 编辑问题并将其添加到问题中
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-12-07
    • 2021-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多