如何使用点击功能使用jQuery设置/删除cookie

时间:2015-12-09 13:53:32

标签: javascript jquery cookies

我有一个按钮,可以在每次点击时添加/删除额外的body课程。我试图使用jquery-cookie脚本设置正确的类。 这是我的代码:

$(document).ready(function() {
   var body_class = $.cookie('body_class');
   if(body_class) {
       $('body').attr('class', body_class);
   }
   else {
       $.removeCookie('body_class');
   }
   $(".contrast-btn").click(function() {
       $("body").toggleClass("extra-class");
       $.cookie('body_class', $('body').attr('class'));
   });
});

有什么问题?

当我点击开始页面上的按钮,然后转到子页面时,班级将移动到所有访问过的子页面 - 这是正确的。当我再次点击按钮(但在子页面上)时,该子页面上的类被删除 - 这也是正确的。问题是,当我开始页面或其他子页面(我访问过)时,extra-class已设置但应删除。

在控制台上我有多个具有不同路径名的cookie。是否有可能在" second"之后做到这一点。点击:

  1. 删除extra-class
  2. 删除所有body_class个Cookie

1 个答案:

答案 0 :(得分:0)

尝试像这样的smoething:

$(document).ready(function() {
   var body_class = $.cookie('body_class');
   if(body_class) {
       $('body').addClass(body_class);
   }else {
       // We already know this cookie doesn't exists at this point, so instead of trying to remove it,
       // this is where you want to SET it.
       $.cookie('body_class', "extra-class");
   }
   $(".contrast-btn").click(function() {
       $("body").toggleClass("extra-class");
       $.cookie('body_class', "extra-class");
   });
});