如何使用jquery cookie插件保存toggleClass方法的状态

时间:2015-02-10 12:39:55

标签: javascript jquery cookies

我知道我所看过的类似问题,但答案对我来说还不起作用。

所以我试图保存JavaScript toggleClass方法的状态,这样当用户刷新页面时,它会加载保存的状态。目前它只是像往常一样恢复到原始状态。我试图使用jquery cookie插件https://github.com/carhartl/jquery-cookie

来做到这一点

我的代码如下

 $(document).ready(function(){
   $(".steps").click(function(){
   $(this).toggleClass("selected");
   $.cookie("selected", $(this).hasClass("selected"));
  });
});    

在控制台中没有出现任何问题,所以我很难找到答案。

2 个答案:

答案 0 :(得分:1)

确保设置了布尔值。您存储字符串但需要布尔值

JSFIDDLE

$(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: '/' });
  });
});   

答案 1 :(得分:0)

$(document).ready(function(){
if($.cookie("selected")){
    $(".steps").addClass("selected");
} 

   $(".steps").click(function(){
   $(this).toggleClass("selected");
   $.cookie("selected", $(this).hasClass("selected"));
  });
});