带有data-toggle =“tab”的bootstrap 2.0选项卡不会出现在导航栏上

时间:2012-04-02 18:47:28

标签: jquery tabs twitter-bootstrap navigationbar

好吧,我使用Jquery(边缘)版本和bootstrap 2.0,我有这个代码:

    <div id="leftcol">
    <div id="ppl" class="tabbable tabs-left">
        <ul id="tabppl">
        <li class="active"><a class="bl" href="#1" data-target="#1" data-toggle="tab"> 1<span class="arroright"> </span></a> </li>
        <li><a class="bl" href="#2" data-target="#2" data-toggle="tab"> 2<span class="arroright"> </span></a> </li>
        <li><a class="bl" href="#3" data-target="#3" data-toggle="tab"> 3 <span class="arroright"> </span></a> </li>
        <li><a class="bl" href="#4" data-target="#4" data-toggle="tab">  4<span class="arroright"> </span></a>  </li>
        <li><a class="bl" href="#5" data-target="#5" data-toggle="tab"> 5<span class="arroright"> </span></a></li>
        <li><a class="bl" href="#6" data-target="#6" data-toggle="tab"> 6<span class="arroright"> </span></a>  </li>
        <li><a class="bl" href="#7" data-target="#7" data-toggle="tab"> 7 <span class="arroright"> </span></a></li>
        <li><a class="bl" href="#8" data-target="#8" data-toggle="tab"> 8<span class="arroright"> </span></a>  </li>
        <li><a class="bl" href="#9" data-target="#9" data-toggle="tab">9 <span class="arroright"> </span></a> </li>
        </ul>
    </div><!-- ppl-->
</div><!--leftcol-->

我知道这个理论,这样的简单代码只有在每个-a-标签中放入“data-toggle =”tab“”但导航栏上没有出现#Direction时才有效,它只会改变内容,网址http://twitter.github.com/bootstrap/javascript.html#tabs没有解释这个,就像导航一样,但是带有标签。我需要所有这些信息出现在导航栏上。像http://Your-url.com/#yourtabclicked

一样

2 个答案:

答案 0 :(得分:1)

我发现了一些有用的东西。它使所有URL都使用#ID指针。 只是添加这个:

$(function () {
  var activeTab = $('[href=' + location.hash + ']');
  activeTab && activeTab.tab('show');
});

当您单击导航栏时,此其他代码将显示在您的选项卡上:

$('.nav a').on('shown', function (e) {
  window.location.hash = e.target.hash;
})

大部分代码都在本网站的不同部分找到。

注意:你需要最新的JQuery(实际的1.7.1工作)。

答案 1 :(得分:1)

默认设置选项卡设置e.preventDefault。

  $(function () {
    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
      e.preventDefault()
      $(this).tab('show')
    })
  })

您可以尝试通过以下方式禁用默认值:

$('body').off('click.tab.data-api');
例如,

  $(function () {

    $('body').off('click.tab.data-api');

    $('body').on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
         //notice the e.preventDefault() is missing now
         $(this).tab('show');
    })
  })

没有测试,但它应该有用。