Функция Jquery Cookie

Я все еще новичок в этом, поэтому, пожалуйста, потерпите меня. У меня есть функция, которая добавляет класс на событие щелчка, это прекрасно работает. Но я также хотел бы, чтобы нажатая функция сохранялась в виде файла 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 ответа

Решение

Я предполагаю, что вы хотите сохранить предпочтения и принять меры на основе этого. Попробуйте что-то вроде этого:

// 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();
});    

Функция больше не запускается, потому что пользователь ничего не нажимает при перезагрузке страницы. Ваша функция запускается только тогда, когда кто-то нажимает .bblue элемент.

Вам нужно получить значение cookie и установить классы, где это уместно, в готовом документе. Классы не будут придерживаться, вы должны повторно применить их. Вы хотите использовать...

$(function() {
    var color = $.cookie("color");

    // Set classes according to color here
});

Который будет выполнять и устанавливать все классы после загрузки страницы.

Другие вопросы по тегам