Cookie + Accordion
Приветствую!
Имеется менюшка
$(document).ready(function() {
$('ul.leftMenu ul').each(function(i) {
if ($.cookie('submenuMark-' + i)) {
$(this).show().prev().removeClass('collapsed').addClass('expanded');
}else {
$(this).hide().prev().removeClass('expanded').addClass('collapsed');
}
$(this).prev().addClass('collapsible').click(function() {
var this_i = $('ul.leftMenu ul').index($(this).next());
if ($(this).next().css('display') == 'none') {
$(this).next().slideDown(200, function () {
$(this).prev().removeClass('collapsed').addClass('expanded');
cookieSet(this_i);
});
}else {
$(this).next().slideUp(200, function () {
$(this).prev().removeClass('expanded').addClass('collapsed');
cookieDel(this_i);
$(this).find('ul').each(function() {
$(this).hide(0, cookieDel($('ul.leftMenu ul').index($(this)))).prev().removeClass('expanded').addClass('collapsed');
});
});
}
return false;
});
});
});
//Тут запись в куки
function cookieSet(index) {
$.cookie('submenuMark-' + index, 'opened', {expires: null, path: '/'});
}
function cookieDel(index) {
$.cookie('submenuMark-' + index, null, {expires: null, path: '/'});
}
Проблема в том что при переходе из этого меню на любую страничку куки не очищаются, т.е. все ранее открытые подпункты раскрыты. Хотя я прописал (может не правильно, с куками в меню не связывался)
function cookieDel(index) {
$.cookie('submenuMark-' + index, null, {expires: null, path: '/'});
}
Собственно вопрос, как очистить куки, чтобы относительно последнего открытого подпункта, предыдущие куки отчищались? Сайт modestes.ru, пощелкайте по левому меню и сами поймете |
modestes,
Попробуйте отрицательную дату ? (Для стирания |
Цитата:
$.cookie('submenuMark-' + index, null, {expires: -1, path: '/'});
не помогло. |
modestes,
Значение должно быть не нулевое Или так $.cookie('submenuMark-' + index, 1, {expires: null, path: '/'}); Или так $.cookie('submenuMark-' + index, 1, {expires:-1, path: '/'}); |
Не работает, ничего не понимаю, как так.
|
modestes,
Ну возьмите мое произведение: http://javascript.ru/forum/misc/3491...ez-cookie.html Для удаления - setcookie( "Имя",true,-1 ) |
| Часовой пояс GMT +3, время: 20:19. |