Javascript 如何使用jquery cookie插件保存toggleClass方法的状态
我知道我已经看过类似的问题,但答案对我来说还不起作用 因此,我试图保存JavaScript toggleClass方法的状态,以便用户刷新页面时加载保存的状态。目前,它只是恢复到原来的状态,因为它通常会。我正在尝试使用jquery cookie插件来实现这一点 我的代码如下Javascript 如何使用jquery cookie插件保存toggleClass方法的状态,javascript,jquery,cookies,Javascript,Jquery,Cookies,我知道我已经看过类似的问题,但答案对我来说还不起作用 因此,我试图保存JavaScript toggleClass方法的状态,以便用户刷新页面时加载保存的状态。目前,它只是恢复到原来的状态,因为它通常会。我正在尝试使用jquery cookie插件来实现这一点 我的代码如下 $(document).ready(function(){ $(".steps").click(function(){ $(this).toggleClass("selected"); $.cookie(
$(document).ready(function(){
$(".steps").click(function(){
$(this).toggleClass("selected");
$.cookie("selected", $(this).hasClass("selected"));
});
});
控制台中没有显示任何错误,因此我很难找到答案。确保设置了布尔值。您存储了一个字符串,但需要一个布尔值
$(document).ready(function(){
if($.cookie("selected")){
$(".steps").addClass("selected");
}
$(".steps").click(function(){
$(this).toggleClass("selected");
$.cookie("selected", $(this).hasClass("selected"));
});
});
这个代码设置了cookie,你在哪里读回并切换它呢?我没有,我已经试着把$.cookie(“selected”);但它仍然没有保存。我是在正确的位置读取cookie吗?有趣的是,你是对的,它做的正好相反,它似乎在加载页面时自动将状态切换为“选定”。仍然似乎在执行相同的操作,以从cookie获取布尔值。这似乎在加载页面时也会自动将状态切换为“选定”。状态更改也不会保存。
$(document).ready(function(){
var sel = $.cookie("selected"); // get the cookie
sel = sel=="true"; // convert to boolean - null is false, "false" is false
$(".steps").toggleClass("selected",sel); // initial
$(".steps").on("click",function() {
var $this = $(this);
sel = !sel; // toggle
$this.toggleClass("selected",sel); // toggles
$.cookie("selected", sel,{ expires: 7, path: '/' });
});
});