javascript - 如何创建点击事件以在不同的 HTML 页面上打开特定的 Bootstrap 选项卡?

标签 javascript jquery twitter-bootstrap

我有两页。我的主页包含此页面内不同位置的链接,用于执行编辑个人资料、更改我的密码、上传个人资料图片等操作。

主页“index.html

<a href="accounts.html">EDIT PROFILE</a>
<a href="accounts.html">CHANGE PASSWORD</a>
<a href="accounts.html">UPLOAD PHOTO</a>

我的第二页“accounts.html”使用 Bootstrap 导航选项卡。

<ul class="nav nav-tabs">
    <li class="active"><a href="#editProfile" data-toggle="tab"> Edit my profile</a></li>
    <li class=""><a href="#changePassword" data-toggle="tab">Change my Password</a></li>
    <li class=""><a href="#uploadPhoto" data-toggle="tab">Upload Photo</a></li>
</ul>

<div class="tab-pane" id="editProfile">
  BARK BARK
</div>
<div class="tab-pane" id="changePassword">
  WOFF WOFF
</div>
<div class="tab-pane" id="uploadPhoto">
  MEOW MEOW
</div>

如何单击主页上的链接并在第二页上打开正确的相应 Bootstrap 选项卡?

<!-- CLICK ON LINK WITHIN MAIN PAGE -->
$('#editProfile').on('click', function() {
    $('body').load( "accounts.html" ).find('active').removeClass('active');
    $('li.active').addClass('active');
});

最佳答案

我认为您可以使用 localStorage 来解决此问题。首先,将您在index.html 上单击的所选选项卡的id 保存到localStorage 中。然后,在 account.html 上,您可以从 localStorage 中获取值选择选项卡。这是示例,希望对 friend 有所帮助!

--在index.html中

<a href="#" id="editProfile">EDIT PROFILE</a>
<a href="#" id="changePass">CHANGE PASSWORD</a>
<a href="#" id="uploadPhoto">UPLOAD PHOTO</a>

$(document).ready(function(){
    $('a').on('click', function(e){
        localStorage.setItem('activeTab', $(e.target).attr('id'));
        window.location.replace("accounts.html"); 
    });
});

--在account.html中

<ul class="nav nav-tabs">
    <li class="active" id="lieditProfile">
        <a href="#editProfile" data-toggle="tab"> Edit my profile</a>
    </li>
    <li class="" id="lichangePass">
        <a href="#changePass" data-toggle="tab">Change my Password</a>
    </li>
    <li class="" id="liuploadPhoto">
    <a href="#uploadPhoto" data-toggle="tab">Upload Photo</a>
    </li>
</ul>

<div class="tab-content">
    <div id="editProfile" class="tab-pane fade in active">
      <h3>Edit the profile.</h3>      
    </div>
    <div id="changePass" class="tab-pane fade">
      <h3>Change Password</h3>      
    </div>
    <div id="uploadPhoto" class="tab-pane fade">
      <h3>Upload Photo</h3>      
    </div>    
</div>

<script>
    $(document).ready(function(){
        var activeTab = localStorage.getItem('activeTab');
        $('li').removeClass();
        $('#li'+ activeTab).addClass('active');
        $('.tab-pane').removeClass('in active');
        $('#' + activeTab).addClass('in active show');
    });
</script>

关于javascript - 如何创建点击事件以在不同的 HTML 页面上打开特定的 Bootstrap 选项卡?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48505833/

相关文章:

Javascript 增量不起作用

javascript - 为什么 Javascript 不能识别 HTML 类属性?

javascript - 在功能级别自定义 dojo 构建

jquery - 如何使用 jQuery Mobile 显示全屏谷歌地图?

javascript - 改变DIV内图片的大小

html - 可折叠导航栏上的 Bootstrap 标题调整

javascript - 在查看几个日期字符串后是否有编程方法来识别日期格式?

javascript - 在两个变量上绑定(bind)相同的事件

jquery - Bootstrap 工具提示不调用子项

html - 响应性不适用于忘记密码链接