我用超链接和div创建了自己的选项卡。即时通讯将它们放在边栏内。记住标签在网站上按下
即时使用jquerys .show()和隐藏()相关的div时单击超链接。
它的工作正常,但是,我希望最后一个链接/标签点击记住整个网站,因为用户导航。
我该怎么做?
我用超链接和div创建了自己的选项卡。即时通讯将它们放在边栏内。记住标签在网站上按下
即时使用jquerys .show()和隐藏()相关的div时单击超链接。
它的工作正常,但是,我希望最后一个链接/标签点击记住整个网站,因为用户导航。
我该怎么做?
最好的办法是使用cookie来存储活动选项卡的名称。然后,在页面加载时,用JS检查cookie,并将其用作显示正确选项卡和隐藏其他选项的基础。
我会建议设置和读取饼干jQuery的cookie的插件: http://plugins.jquery.com/project/Cookie
您的代码可能是这个样子(速写,所以可能没有语法错误):
MARKUP
<ul id="tabs">
<li id="tab-a">First tab</li>
<li id="tab-b">Second tab</li>
<li id="tab-c">Third tab</li>
</ul>
JAVSCRIPT
//On Window load:
if ($.cookie('activetab')) {
var activetabId = $.cookie('activetab');
$('#tabs li').removeClass('active');
$('#'+activetabId).addClass('active');
}
//On tab click
$('#tabs li')click(function(){
var id = $(this).attr('id');
$.cookie('activetab',id);
});
您可以使用cookie(浏览器中为特定网站保存的一段信息)做到这一点。该cookie可以保持当前打开的选项卡。
一个很好的指南可以为您节省已最后点击侧边栏中的标签的ID。例如:
$("#sidebar").data("lastClickedTab", $("#theTab")[0].id);
如果用户导航到网站上的另一个页面并重新加载侧边栏,这项工作将会进行吗? – raklos 2011-03-17 12:08:54
不,如果DOM(页面)被重新加载,数据将会丢失。如果你有页面重新加载,cookie可能会更好。 – StefanS 2011-03-17 18:41:15