0

我对 jquery 还是很陌生,我得到了这个 slideToggle 容器,但现在我想保存一个 cookie,如果容器是否隐藏,那么如果刷新页面,它会保持当前状态。

我听说过 jquery cookie 插件,但说实话并没有真正理解它。:(

谁能帮我吗?

到目前为止,我的代码非常简单:

$(function(){
 $("#hideslide").click(function(){
  $(this).next().slideToggle();
 });
});

非常感谢任何帮助

4

2 回答 2

3

jQuery Cookie 插件(在此处找到)是在 jQuery 中使用 cookie 的最简单方法。

要设置 cookie,将执行以下操作:

$.cookie("name", "content");

获取 cookie 也很简单:

$.cookie("name");

因此,如果设置了 cookie,您应该检查页面加载:

if($.cookie("name") != null) {
    // Cookie set, action here
}

在单击要切换的项目时,检查是否设置了 cookie。如果已设置,请将其删除,否则,请设置:

if($.cookie("name") != null) {
    $.cookie("name", null); (null as value will remove the cookie)
}
else {
    $.cookie("name", "content");
}

我自己使用这个插件,这就是你所需要的。简单的。

于 2012-07-03T16:24:06.093 回答
0

如果您的客户端浏览器目标是 IE8+,那么您可以并且我认为应该使用localStorage它。

localStorage.setItem('mySlideState', "open");

然后测试:

if(localStorage.getItem('mySlideState') == 'open') {
    //do stuff
}

您可以通过 slideToggle 上的回调来实现这一点

$('#highSlide').slideToggle(function () {
    //set localStorage to value here
});

Mozilla 文档: https ://developer.mozilla.org/en/DOM/Storage

于 2012-07-03T16:18:57.617 回答