简体   繁体   English

如何防止jQuery选项卡在刷新时默认为第一个选项卡?

[英]how to prevent jquery tabs to default to first tab on refresh?

I am using simple jquery tabs on my page with multiple tabs which is as follows: 我在页面上使用带有多个选项卡的简单jquery选项卡,如下所示:

$("#tabs").tabs();
<s:div id="tabs">
<ul>
  <li><a href="#tabs-1"> Home</a></li>
  <li><a href="#tabs-2">Resources</a></li>
  <li><a href="#tabs-3">hello world</a></li>
</ul>

<s:div id="tabs-1">
     tab one content
</s:div>
<s:div id="tabs-2">
     tab two content
</s:div>
<s:div id="tabs-3">
   tab three content
</s:div>
</s:div>

however when I'm on any of the tabs other that 1 and hit refresh, it takes me back to the first tab. 但是,当我在除1之外的任何其他标签上并单击“刷新”时,它将带我回到第一个标签。 I know by default the first tab is active. 我知道默认情况下第一个选项卡处于活动状态。 And i even tried to use the following function to deactivate active tabs : 我什至尝试使用以下功能来停用活动标签:

$( "#tabs" ).tabs({ active: false });

but it will still take me to the first tab even after there is no active tab. 但即使没有有效的标签页,它仍会将我带到第一个标签页。 How can i prevent this from happening? 如何防止这种情况发生? I want jquery to not change tabs when i refresh the page. 我希望jQuery在刷新页面时不更改选项卡。 I did find couple of answers but none seem to help. 我确实找到了几个答案,但似乎没有帮助。 Any help would be appreciated. 任何帮助,将不胜感激。 thankx in advance 预先感谢

This should make the trick: 这应该可以解决问题:

var selected=0;
if(localStorage.currentTab){
    selected=Number(localStorage.currentTab)
}else{
    localStorage.currentTab=0;
}

$("#tabs").tabs({ 
    selected: selected,
    select: function(event, ui) {
        localStorage.currentTab=ui.index
    }
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM