JavaScript – 从Bootstrap的导航标签跳到另一个选项卡的特定选项卡

前端之家收集整理的这篇文章主要介绍了JavaScript – 从Bootstrap的导航标签跳到另一个选项卡的特定选项卡前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我使用Bootstrap的导航标签与以下设置:
<ul class="nav nav-tabs">
  <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
  <li><a href="#profile" data-toggle="tab">Profile</a></li>
</ul>
<div id="tabContent" class="tab-content">
  <div class="tab-pane active in" id="home">
    <form id="tab">
        <label>Name:</label>
        <input type="text" value="fooBar" class="input-xlarge">
    </form>
  </div>
  <div class="tab-pane fade" id="profile">
    <form id="tab2">
        <a href="#home">Home</a>
    </form>
  </div>
</div>

您可以看到,我的个人资料标签中有一个链接,链接到第一个标签.点击锚点会更改URL栏中的URL,但不跳转到特定选项卡.

然后我注意到通常不可能直接链接到选项卡,所以我从Twitter Bootstrap Tabs: Go to Specific Tab on Page Reload or Hyperlink添加了以下代码

// 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;
})

现在我可以从别的地方链接到一个特定的标签,但是如果我在导航栏的同一页面上,则不能.重新载入页面然后会跳转到所需的标签,所以我以为我可以强制重新加载页面,解决方案从Javascript: How to truly reload a site with an anchor tag?

window.location.reload(true);

然而,每次点击一个标签时,它都会重新加载,此外,当点击锚点时,它仍然没有加载主页选项卡.

因此,我将如何从另一个标签跳转到给定的ID?

解决方法

你可能已经把错误的脚放在你提到的其他答案上了吗?从同一个页面中更改标签是不重要的(不管你是否在另一个选项卡中):你可以使用基本的引导 tab navigation Javascript为此.

首先改变你的html:添加一个id到你的< ul class =“nav nav-tabs”id =“myTab”> ..然后添加一个链接到你的第二个选项卡:

<div class="tab-pane fade" id="profile">
  <form id="tab2">
    <a href="#" id="gotohome">Jump to home tab (this works)</a>
...

并在您的文档中添加以下内容准备好:

$('#gotohome').click(function() {
  $('#myTab a[href="#home"]').tab('show');
});

jsFiddle工作示例.

原文链接:https://www.f2er.com/js/154764.html

猜你在找的JavaScript相关文章