使用jQuery UI Accordion,我成功地使用cookie来记住刷新页面时的最后一个活动状态 - 但是我无法:
首次访问时设置为折叠
如果用户在打开
我试图在" active"上尝试使用条件语句创建一个函数。选项,但没有成功。
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
});
});
答案 0 :(得分:10)
共享代码在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 :(得分:1)
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:如果您将网页打开为本地文件,则Google Chrome不接受Cookie。