Показать сообщение отдельно
  #1 (permalink)  
Старый 25.10.2016, 13:42
Новичок на форуме
Отправить личное сообщение для ДмитРок123 Посмотреть профиль Найти все сообщения от ДмитРок123
 
Регистрация: 20.06.2016
Сообщений: 6

Раздвижное меню на Куках
как можно сделать что бы был один скрипт на 6 раздвижных блоков?
когда больше одного положение сохраняется только последнего открытого блока. можно как то подключить localStorage?
не хочется скрипт на каждый блок делать...

вот сам скрипт:

$(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 дня для всего сайта.
});
}
});
Ответить с цитированием