jQuery UI Accordion + Cookies - 默认关闭?
问题描述:
随着jQuery UI的手风琴,我刷新页面级的时候很成功使用cookies记住上次工作状态但是我不能:jQuery UI Accordion + Cookies - 默认关闭?
设置为瘫倒在第一次访问
有饼干记住,如果用户手动开启倒塌
后,我一直在努力,试图在“活动”选项创建与条件语句的功能,但没有成功。
jQuery(document).ready(function(){
var act = 0;
$("#accordion").accordion({
create: function(event, ui) {
//get index in cookie on accordion create event
if($.cookie('saved_index') != null){
act = parseInt($.cookie('saved_index'));
}
},
change: function(event, ui) {
//set cookie for current index on change event
$.cookie('saved_index', null);
$.cookie('saved_index', ui.options.active);
},
active:parseInt($.cookie('saved_index')),
collapsible: true
});
});
答
jQuery(document).ready(function(){
$("#accordion").accordion({
change: function(event, ui) {
$.cookie('saved_index', ui.options.active !== false ? ui.options.active : null);
},
active: $.cookie('saved_index') != null ? parseInt($.cookie('saved_index')) : false,
collapsible: true
});
});
PS:如果你打开你的页面为本地文件谷歌浏览器不接受cookies。
答
共享代码在jQuery UI 1.9+中不起作用。以下代码作品!
jQuery(document).ready(function() {
$("#accordion").accordion({
activate: function(event, ui) {
$.cookie('saved_index', $("#accordion").accordion("option", "active"));
},
active: parseInt($.cookie('saved_index')),
collapsible: true
});
});
+1
为什么你需要'.cookie('saved_index',null);'line? – 2014-09-19 13:30:14
+0
@FilipSpiridonov事实上,这条线是不需要的,它没有工作正常。 – Chronozoa 2015-07-31 14:57:54
解决了问题#1(显示为首次访问时折叠)。不过,如果用户折叠了菜单,我仍然无法记住它。 (确保所有菜单都关闭,然后点击刷新)。 http://jsfiddle.net/77xC9/25/ – Joe 2012-07-20 02:03:14
我编辑了代码。 – Researcher 2012-07-20 06:28:19