2011-03-17 52 views
3

我用超链接和div创建了自己的选项卡。即时通讯将它们放在边栏内。记住标签在网站上按下

即时使用jquerys .show()和隐藏()相关的div时单击超链接。

它的工作正常,但是,我希望最后一个链接/标签点击记住整个网站,因为用户导航。

我该怎么做?

回答

3

最好的办法是使用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); 
}); 
2

一个很好的指南可以为您节省已最后点击侧边栏中的标签的ID。例如:

$("#sidebar").data("lastClickedTab", $("#theTab")[0].id); 
+0

如果用户导航到网站上的另一个页面并重新加载侧边栏,这项工作将会进行吗? – raklos 2011-03-17 12:08:54

+0

不,如果DOM(页面)被重新加载,数据将会丢失。如果你有页面重新加载,cookie可能会更好。 – StefanS 2011-03-17 18:41:15