Здесь мой HTML
<!-- this is my link -->
<a href='javascript:void(0);' class='show_hide'>Show Hide</a>
<!-- This is my show hide content -->
<div class='slidingDiv'> ..................Here my content...............</div>
Я начинаю JQuery. Я просто пытаюсь создать панель слайдов. Я использую parent().next()
slideToggle()
в моей функции slideToggle()
. Beacuse Мне нужно показать/скрыть для каждого DIV
. Поэтому я пишу этот код....
$(".show_hide").show();
$(".slidingDiv").hide();
$('.show_hide').click(function () {
$(this).parent().next().slideToggle();
});
Этот код работает хорошо. Но теперь моя проблема в том, что мне нужно cookie для отдыха после обновления. Я пишу этот код
var cook= $.cookie('showdiv');
if(cook=='true')
$(".slidingDiv").show();
else
$(".slidingDiv").hide();
$('.show_hide').on('click', function()
{
$(this).parent().next().slideToggle('normal', function(){
$.cookie('showdiv', $(this).is(':visible'));
});
});
Но cookie не работает. Обратите внимание, что я уверен, что я успешно устанавливаю плагин jquery cookie.
Если опубликованная ваша HTML-разметка, селектор должен быть $(this).next(".slidingDiv")
без родителя.
Код:
var cook = $.cookie('showdiv');
console.log(cook)
if (cook == 'true') $(".slidingDiv").show();
else $(".slidingDiv").hide();
$('.show_hide').on('click', function () {
$(this).next(".slidingDiv").slideToggle('normal', function () {
$.cookie('showdiv', $(this).is(':visible'));
});
});
К сожалению, сохраняя логическое значение в cookie, чтобы проверить, истинно или ложно, вы должны сравнить его как строку в обратном порядке.
Вы проверили с console.log или предупредили о возврате вашего файла cookie?
console.log($.cookie('showdiv'));
Я тестировал и сравнивал, поскольку в строке не было проблем.
Смотрите скрипку
console.log($.cookie('showdiv'));
ложно
.slidingDiv
группы для каждогоshow_hide
button.First я говорю безparent()
не работает мой код. Во-вторых, у меня есть много кнопок.show_hide
. Итак,$(this).parent().next().slideToggle
выполняет каждую кнопку.show_hide
. Но когда печенье это позволит, все.slidingDiv
показывает не конкретная группа.slidingDiv
изshow_hide
кнопки. Таким образом, cookie не может определить, какая кнопка открыта или закрыта. cookie выполнить все кнопки, а не конкретную кнопку.show_hide