我有一个包含一些GridView的页面。我使用选项卡菜单将它们保存在选项卡中。有四个选项卡。
我的问题是当页面重新加载时,选项卡会重置为第一个选项卡。
HTML:
<div id="tabbed_box_1" class="tabbed_box">
<div class="tabbed_area">
<ul class="tabs">
<li><a href="#" title="content_1" class="tab active">Bottom Banner</a></li>
<li><a href="#" title="content_2" class="tab">Side Banner Bottom</a></li>
<li><a href="#" title="content_3" class="tab">Side Banner Top</a></li>
<li><a href="#" title="content_4" class="tab">Main Ad</a></li>
</ul>
<div id="content_1" class="content">
<table width="500" border="0" align="center" cellpadding="0" cellspacing="2" class="border">
<tr>
<td align="center">
//some gridview here
</td>
</tr>
</table>
</div>
//similarly three more gridviews
jQuery的:
$(document).ready(function () {
// When a link is clicked
$("a.tab").click(function () {
// switch all tabs off
$(".active").removeClass("active");
// switch this tab on
$(this).addClass("active");
// slide all content up
$(".content").slideUp();
// slide this content up
var content_show = $(this).attr("title");
$("#" + content_show).slideDown();
});
});
如果页面重新加载后如何才能显示当前单击的标签?
答案 0 :(得分:3)
简单的解决方案是使用localStorage来保留选择:
$(document).ready(function () {
function activate(tab) {
// switch all tabs off
$(".active").removeClass("active");
// switch this tab on
tab.addClass("active");
// slide all content up
$(".content").slideUp();
// slide this content up
var content_show = tab.attr("title");
$("#" + content_show).slideDown();
}
if (localStorage) { // let's not crash if some user has IE7
var index = parseInt(localStorage['tab']||'0');
activate($('a.tab').eq(index));
}
// When a link is clicked
$("a.tab").click(function () {
if (localStorage) localStorage['tab'] = $(this).closest('li').index();
activate($(this));
});
});
答案 1 :(得分:1)
只要单击选项卡,您就可以尝试在URL中使用主题标签,然后在代码中检查是否存在主题标签,哪个选项卡的ID与之对应。
<ul id="tabs">
<li><a id="category1" href="#category1">Category 1</a></li>
<li><a id="category2" href="#category2">Category 2</a></li>
<li><a id="category3" href="#category3">Category 3</a></li>
</ul>
if(window.location.hash) {
$(window.location.hash).click();
}
基于: Jquery, activate script if hashtag on end of URL matches a class name