Добавление куки в jQuery .slideToggle - PullRequest
0 голосов
/ 01 октября 2011

В моем проекте есть простая функция .slideToggle:

$(document).ready(function() {
    $('.example5').show().before('<a class="blocks-hide">Show/Hide</a>');
    $('div.blocks-hide').click(function() {
        $('.example5').slideToggle(250);
        $('div.blocks-hide').toggleClass('blocks-show'); 
        return false;
    });
});

И теперь я хочу использовать плагин cookie с этой функцией.Я хочу, чтобы браузер запомнил, нажал ли я ссылку «.blocks-hide», когда посещал веб-страницу ранее, и свернул / развернул «.example5» соответственно.Но, черт возьми, я не знаю, как использовать плагин куки .. Пожалуйста, помогите мне, ребята.Я очень новичок в JS.

1 Ответ

0 голосов
/ 01 октября 2011

Проверка для block-show класса после события клика (в конце):

Редактировать : опечатка - изменено block-show на block-show

if($('.blocks-hide').hasClass('blocks-show')){
    $.cookie('toggleState', 'open');   
} else {
    $.cookie('toggleState', 'close');
}

после этого просто проверьте содержимое cookie в $ (document) .ready () по:

if($.cookie('toggleState') == 'open') {
    $('.example5').show();
}

и, поскольку я выяснил, что вы не настроили Block-Hide / Blocks-Show, чтобы они появлялись, когда они должны появиться (когда blocks-show имеет значение true, категории viw нет, которая должна напротив), лучше проверка if-else:

if($('.example5').css('display') != 'none){
    $.cookie('toggleState', 'open');   
} else {
    $.cookie('toggleState', 'close');
}

Используйте проверку для отображения свойств CSS.

...