【发布时间】:2016-02-18 14:24:08
【问题描述】:
上下文
我正在使用以下代码打开/关闭手风琴菜单:
jQuery(function($) {
$('li').on('click', 'h4', function(){
//Expand or collapse this panel
$(this).next().slideToggle('slow');
});
});
这工作正常,即使在 Ajax 加载重新生成 DOM 后也能继续工作。
问题
但是,如果手风琴的某个部分是打开的,则这不会通过 Ajax 加载而持续存在。我看到人们使用 cookie 来记住每个手风琴类别的打开/关闭状态 - 有没有更好的方法来做到这一点?
【问题讨论】:
-
最简单的方法是 cookie。另一种方式是本地存储。不过为此使用 sessioncookies。
-
您回答了自己的问题,您需要一些方法来维护状态,cookie 有什么问题?还有本地存储。
-
session storage是答案 -
@JonH - 我的印象是一定比例的用户禁用了 cookie。由于该站点将用于拥有旧软件的大公司,因此这个百分比可能会更高。
-
@Abude - 效果很好,谢谢!
标签: javascript jquery ajax dom accordion