我有以下功能,可以在点击时切换mouseenter和mouseleave:
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;
});
如何选择偏好"记住"并加载到下一页加载?
编辑:如果出于某种原因来自bellow的解决方案无法在网站上运行,请将其放在此处:
(function($){
$(document).ready(function(){
//Scripts go in here!
});
})(jQuery);
答案 0 :(得分:2)
我会使用jQuery cookie plugin:
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
});
问题是布尔值存储为字符串,字符串'false'是真值,因此我使用数字和>0
比较。