jQuery的切换功能,并设置一个cookie(jquery toggle function and

2019-10-31 01:46发布

我有以下的功能,切换的mouseenter和鼠标离开上点击:

var flag = true;
$('.aaa').mouseenter(function () {
    if(flag) {
    $(this).css('background', '#aaaaaa');
    }
    $(this).css('border', 'solid 1px red');
});
$('.aaa').mouseleave(function () {
    if(flag) {
    $(this).css('background','blue');
    }
    $(this).css('border', 'solid transparent 1px');
});
$('#tog').click(function () {
    flag = !flag;
});

http://jsfiddle.net/z8KuE/15/

如何选择偏好来“记住”并加载下一个页面加载?

编辑:如果从波纹管的解决方案不因某种原因在现场工作,只是把它放在这里:

 (function($){
    $(document).ready(function(){
       //Scripts go in here!
    });
 })(jQuery);

Answer 1:

我会使用jQuery的cookie的插件 :

var storedFlag = $.cookie('userSelection'); // read cookie
var flag = 1;  //default value
if(storedFlag != undefined){   // some flag was stored
    flag = storedFlag;
}
$('.aaa').mouseenter(function () {
    if(flag > 0) {
        $(this).css('background', '#aaaaaa');
    }
    $(this).css('border', 'solid 1px red');
});
$('.aaa').mouseleave(function () {
    if(flag > 0) {
        $(this).css('background','blue');
    }
    $(this).css('border', 'solid transparent 1px');
});
$('#tog').click(function () {
    flag = 1 - flag;
    $.cookie('userSelection', flag, { expires: 30 }); // store cookie
});

的问题是,布尔值存储为字符串,并且字符串“假”是一个真值,从而我采取使用数字和>0比较。

见更新小提琴



文章来源: jquery toggle function and set a cookie