从同一页面上的URL链接到特定的Twitter引导选项卡

时间:2013-03-13 00:05:43

标签: javascript twitter-bootstrap

我是一个javascript noob,我想知道如何实现这个问题的答案?

Twitter Bootstrap Tabs: Go to Specific Tab on Page Reload or Hyperlink

我想在标签所在的同一页面上使用此代码....

  <script type="text/javascript">
    // Javascript to enable link to tab
    var url = document.location.toString();
    if (url.match('#')) {
      $('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ;
    } 

    // Change hash for page-reload
    $('.nav-tabs a').on('shown', function (e) {
      window.location.hash = e.target.hash;
    })
  </script>

我应该在包含标签的页面内插入。

再次,很抱歉这样的菜鸟。

2 个答案:

答案 0 :(得分:4)

Bootstrap 3解决方案:

<script type="text/javascript">
$(function() {
  // Javascript to enable link to tab
  var url = document.location.toString();
  if (url.match('#')) {
    $('.nav-tabs a[href=#'+url.split('#')[1]+']').tab('show') ;
  }

  // Change hash for page-reload
  $('a[data-toggle="tab"]').on('show.bs.tab', function (e) {
    window.location.hash = e.target.hash;
  });
});
</script>

答案 1 :(得分:1)

尝试将代码包装在$(document).ready()函数

$(document).ready(function() {
 //your code here...
});

上面的内容不起作用,因为DOM在运行时不会就绪。使用$(document).ready()函数将延迟执行,直到加载dom。它几乎可以在包含选项卡的页面中的任何位置。有些人认为它应该在head部分内,有些人认为它应该在最后。但请阅读此处以获得更深入的答案:Where do I put the $(document).ready()?

请参阅:http://docs.jquery.com/Tutorials:Introducing_ $(文档).ready()