我对 jquery 还是很陌生,我得到了这个 slideToggle 容器,但现在我想保存一个 cookie,如果容器是否隐藏,那么如果刷新页面,它会保持当前状态。
我听说过 jquery cookie 插件,但说实话并没有真正理解它。:(
谁能帮我吗?
到目前为止,我的代码非常简单:
$(function(){
$("#hideslide").click(function(){
$(this).next().slideToggle();
});
});
非常感谢任何帮助
我对 jquery 还是很陌生,我得到了这个 slideToggle 容器,但现在我想保存一个 cookie,如果容器是否隐藏,那么如果刷新页面,它会保持当前状态。
我听说过 jquery cookie 插件,但说实话并没有真正理解它。:(
谁能帮我吗?
到目前为止,我的代码非常简单:
$(function(){
$("#hideslide").click(function(){
$(this).next().slideToggle();
});
});
非常感谢任何帮助
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");
}
我自己使用这个插件,这就是你所需要的。简单的。
如果您的客户端浏览器目标是 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