過去幾天我一直在嘗試創建一個cookie(使用https://github.com/carhartl/jquery-cookie),它記住了我的手風琴菜單的打開狀態。我已經梳理了谷歌和以前的答案,但這樣很遠我沒有運氣讓它工作。設置cookie以記住手風琴狀態
Here is the code所產生的手風琴菜單..
如果有人可以幫助闡明這光我將不勝感激..
過去幾天我一直在嘗試創建一個cookie(使用https://github.com/carhartl/jquery-cookie),它記住了我的手風琴菜單的打開狀態。我已經梳理了谷歌和以前的答案,但這樣很遠我沒有運氣讓它工作。設置cookie以記住手風琴狀態
Here is the code所產生的手風琴菜單..
如果有人可以幫助闡明這光我將不勝感激..
我寫了一個版本,這個前一段時間,並把它在網上:http://jaaulde.com/test_bed/stickyaccordion/
我用下面的代碼:前段時間
$(function() {
var cookieName = 'stickyAccordion';
$('#accordion').accordion({
active: ($.cookies.get(cookieName) || 0),
change: function (e, ui) {
$.cookies.set(cookieName, $(this).find('h3').index(ui.newHeader[0]));
}
});
});
,因爲這是,它使用jQuery 1.4.1和jQuery UI 1.7.2。
它也用我自己的個人JavaScript/jQuery cookies library。如果你想使用carhartl這是一個完全有效的選擇。您只需將他的電話替換爲$.cookies.set
和$.cookies.get
即可。
編輯:我很抱歉,當我看到您的提問提到jQuery和手風琴時,我假定您的意思是jQuery UI's accordion。正如你所看到的,它使它非常簡單。由於您未使用用戶界面,因此此答案可能對您無效。如果是這種情況,我可能會在一段時間內爲現有解決方案添加Cookie支持。
這個特殊的手風琴沒有使用jQuery UI來創建元素,但我仍然通過jquery-cookie的文檔小打小發,所以也許我會很幸運。但是,如果你確實有時間再次查看代碼,那將會很棒。 –
我從旅途中回來 - 這個時候你在這個問題上站在哪裏? – JAAulde
我不得不使用parseInt強制將cookie中的內容變成一個整數,以使其在IE 11中正常工作 –
我寫這個片段做,與cookie的插件從Klaus Hartl:
cookieName = 'myHotCookie';
$(".accordion").accordion({
'active' : (parseInt($.cookie(cookieName)) || false),
'header' : 'h3',
activate: function (event, ui) {
$.cookie(cookieName,parseInt($(this).accordion('option','active')));
}
});
parseInt函數似乎是必要的,因爲歌廳ID是呈現爲字符串。
在我的情況下爲cms contao 3.x和jquery cookie插件安裝。 與jquery 1.9(鉻/ FF)tryed它並將其與該代碼的工作:
var cookieName = 'myHotCookie';
$(document).accordion({
// Put custom options here
heightStyle: 'content',
header: 'div.toggler',
collapsible: true,
animated: 'slide',
active : (parseInt($.cookie(cookieName)) || 0),
activate: function (event, ui) {
$.cookie(cookieName,parseInt($(this).accordion('option','active')));
}
});
簡單的解決方案,修改URL一點以保持手風琴ID。 – Joddy
@Joddy這是一個更簡單的解決方案嗎?這不會在瀏覽器會話中提供持久的手風琴狀態。 –