У меня есть меню с подменю, когда вы нажимаете на название меню, открывается подменю, теперь я хочу, чтобы браузер запомнил, какое меню открыто, а какое нет.
Это одно из меню
<div id="block">
<div class="flip1"><img src="/test/images/arrow_right.png"><div class="f1">Menu title</div></div>
<hr />
<div class="panel1">
<a href="">submenu title</a><br />
<a href="">submenu title</a>
</div></div>
и мой код jQuery до сих пор
$(document).ready(function(){
//check if the menu should be open or not and open/hide it
var shouldShow = jQuery.cookie('show_desc') == 'yep';
if( shouldShow ) {jQuery('.panel1').show();}
else {jQuery('.panel1').hide();}
//toggle submenu on click and make a cookie to remember if it should open or hide the menu
$(".f1").click(function(){
$(".panel1").slideToggle("fast");
if( shouldShow ) {jQuery.cookie('show_desc', 'nope');}
else {jQuery.cookie('show_desc', 'yep'); }
});
});
Я был почти уверен, что это сработает, но оказывается, что подменю не открывается при загрузке страницы и не реагирует на нажатие. Что я здесь не так делаю? Любая помощь приветствуется> _ <</p>
Edit:
Итак, после еще одного исследования я изменил свою функцию slideToggle на это:
$ (». F1" ). Нажмите (функция () {
$('.panel1').slideToggle('fast',function(){
if ($('.panel1').is(':hidden')) {
var state = "closed";
} else {
var state = "open";
}
});
jQuery.cookie('show_desc', state);
});
Это работает, но только без проверки файлов cookie в начале.
var shouldShow = jQuery.cookie('show_desc') == 'open';
if( shouldShow ) {jQuery('.panel1').show();}
else {jQuery('.panel1').hide();}
И я не понимаю, почему эта строка не работает ... как проверить значение файла cookie, чтобы он работал D: