Jquery Cookie功能

时间:2012-11-20 12:39:34

标签: javascript jquery cookies jquery-cookie

我还是很新,所以请耐心等待。我有一个函数,它在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(){}但是当下一页加载时它不会运行该函数。

2 个答案:

答案 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
});

一旦页面加载,它将执行并设置所有类。