Печенье Jquery, состояние проблемы со скользящей панелью - PullRequest
0 голосов
/ 06 января 2011

У меня есть небольшая проблема с моими раздвижными панелями, у меня есть страница с двумя раздвижными панелями (справа и слева). Эти панели имеют «скользящую кнопку», и вы можете уменьшить их, нажав на нее.

Я использую куки для записи состояния панели, поэтому при изменении страницы панели остаются свернутыми или расширенными. Но это работает не очень хорошо, на самом деле состояние записывается для страницы. Если я изменю страницу, панель будет расширена (положение по умолчанию), но если я вернусь на страницу, она исчезнет. Можно ли игнорировать путь в куки и использовать куки для всего сайта? Код запроса:

$('#rightfold').click(function () {
    if ($('.menudroite').is(':visible')) {
        $('.menudroite').hide("slide", { direction: "right" }, 400);
        $.cookie('rightfold', 'collapsed');
        $('.triggerdroite').animate({ backgroundColor: "#B2C9D1" }, 1000);
        $('#rightfold').animate({ color: "#000000" }, 1000);           
    }
    else {
        $('.menudroite').show("slide", { direction: "right" }, 400);
        $.cookie('rightfold', 'extended');
        $('.triggerdroite').animate({ backgroundColor: "#6c7a7f" }, 1000);
        $('#rightfold').animate({ color: "#d9f4ff" }, 1000); 

    }

});
$('#leftfold').click(function () {
    if ($('.menugauche').is(':visible')) {
        $('.menugauche').hide("slide", { direction: "left" }, 400);
        $.cookie('leftfold', 'collapsed');
        $('.triggergauche').animate({ backgroundColor: "#B2C9D1" }, 1000);
        $('#leftfold').animate({ color: "#000000" }, 1000); 
    }
    else {
        $('.menugauche').show("slide", { direction: "left" }, 400);
        $.cookie('leftfold', 'extended');
        $('.triggergauche').animate({ backgroundColor: "#6c7a7f" }, 1000);
        $('#leftfold').animate({ color: "#d9f4ff" }, 1000); 


    }

});

// COOKIES

var leftfold = $.cookie('leftfold');
var rightfold = $.cookie('rightfold');

// Set the user's selection for the left column
if (leftfold == 'collapsed') {
    $('.menugauche').css("display", "none");

};
// Set the user's selection for the right column
if (rightfold == 'collapsed') {
    $('.menudroite').css("display", "none");

};

Спасибо за ответы ..

Ответы [ 2 ]

1 голос
/ 06 января 2011

Если вы используете плагин cookie JQuery, о котором я думаю, вы можете настроить cookie на доступность везде, например так.

$.cookie('leftfold', 'extended', {path: '/'});
1 голос
/ 06 января 2011

Я не совсем уверен, но я думаю, что вы хотите установить cookie domain на /, чтобы его можно было использовать во всем домене.

Я не уверен, какой cookieПлагин, который вы используете, поэтому я не могу дать вам подробности о как сделать это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...