2011-03-17 54 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