2012-04-02 59 views
1

确定,使用im Jquery的(边缘)版本上,并且引导2.0,我有这样的代码标签:自举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 =”选项卡“”但导航栏上不显示“#Direction”时才起作用,它只会更改内容,URL不会解释这,就像一个导航,但与标签。我需要所有这些信息出现在导航栏上。像http://Your-url.com/#yourtabclicked

回答

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

这些标签默认设置为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'); 
    }) 
    }) 

没有测试,但它应该工作。