我还是很新,所以请耐心等待。我有一个函数,它在click事件上添加了一个类,这很好用。但我还希望将点击的功能保存为cookie,以便当该用户下次访问该网站时,这些类仍然存在/重新应用。我正在使用jquery.cookie。我的代码如下。
$(".bblue").click(function bblue() {
$("dl").addClass("bbluebg");
$("dd .button").addClass("buttonb");
$('.button img').attr('src',function(i,e){return e.replace("White","DBlue");});
$.cookie("color", function bblue(){} , { expires: null, path: '/' });
});
当我调用$.cookie('color');
时返回function bblue(){}
但是当下一页加载时它不会运行该函数。
答案 0 :(得分:5)
我假设你想存储偏好并根据它采取行动。尝试这样的事情:
// Event-independent color change function
var bblue = function() {
$("dl").addClass("bbluebg");
$("dd .button").addClass("buttonb");
$('.button img').attr('src', $('.button img').replace("White","DBlue"));
}
// Click action
$(".bblue").click(function () {
// Change the color
bblue();
// Store the preference
$.cookie("color", "blue" , { expires: null, path: '/' });
});
// On page load
$(document).load(function() {
// If they chose blue before, change the color
if ($.cookie("color") == "blue") bblue();
});
答案 1 :(得分:1)
该功能未再次运行,因为用户在页面重新加载时未点击任何内容。您的功能仅在有人点击.bblue
元素时运行。
您需要获取cookie的值,并在适当的文档就绪时设置类。课程不会坚持,你必须重新申请。你想用......
$(function() {
var color = $.cookie("color");
// Set classes according to color here
});
一旦页面加载,它将执行并设置所有类。