Metotron
Искусственный Интеллект
(114907)
8 лет назад
Сохраняй в куку не число, а json с шестью числами.
Куки используются когда нужно отдавать данные на сервер. На каждый запрос странциы с сервера уходит твоя кука. НА КАЖДЫЙ. Поэтому удобнее использовать localStorage. Тем более, что localStorage генерирует событие onstorage, которое позволяет всем открытым страницам сайта реагировать на изменения на одной странице. Например, добавляешь в корзину товар, все остальные страницы тут же отображают актуальное количество товаров в корзине.
крч. если 2 меню то не сохраняет раздвижение/скрытие а если одно то работает.
скрипт :
$(document).ready(function(){
if($.cookie('num_open_ul')){ // проверили, есть ли запись в печеньках
if($.cookie('num_open_ul') != 0){ // и эта запись не равна 0
var number_eq = parseInt($.cookie('num_open_ul')-1);
$('.navigation_body').eq(number_eq).show().prevAll('#navigation h20.navigation_head:first').addClass('active_navigation');
}
};
$('#navigation h20.navigation_head').click(function(){ // при клике сработает эта функция
if(!$(this).next().is(':visible')){
$('div.navigation_body').siblings('div.navigation_body').slideUp(500); // если другие открыты- закрыли все, кроме текущего
}
$(this).next('div.navigation_body').slideToggle(500).siblings('div.navigation_body').slideUp(500);
$(this).toggleClass('active_navigation').siblings('#navigation h20.navigation_head').removeClass('active_navigation'); // открытому добавили класс, чтобы сменить стиль
setTimeout(fncookie, 600); //сама запись в печеньки с задержкой, дабы скрипт до записи успел завершить работу (500мс- скорость, задержка- 600мс)
});
function fncookie(){ // сама функция записи
var number_open_ul = 0;
var i = 0;
$('div.navigation_body').each(function(){
i++;
if($(this).is(':visible')){
number_open_ul = i;
}
$.cookie('num_open_ul', number_open_ul, {expires:3, path:'/'}); // хранить 3 дня для всего сайта.
});
}
});