Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   менюшка jquery (https://javascript.ru/forum/jquery/25031-menyushka-jquery.html)

Денис2201 23.01.2012 10:49

менюшка jquery
 
Использую следующий скрипт для вывода меню
$(document).ready(function () {
  var checkCookie = $.cookie("nav-item");
  if (checkCookie != "") {
	$('#nav > li > a:eq('+checkCookie+')').addClass('active').next().show();
  }
  $('#nav > li > a').click(function(){
      var navIndex = $('#nav > li > a').index(this);
	  $.cookie("nav-item", navIndex, {path: '/'}); 
	  $('#nav li ul').slideUp(800);
	   if ($(this).next().is(":visible")){
		   $(this).next().slideUp(800);
	   } else {
	   $(this).next().slideToggle(800);
	   }
	   $('#nav li a').removeClass('active');
	   $(this).addClass('active');
  });
});


Вот структура меню:
<div class="menuWrappBg">
    <ul id="nav">
        <li><a href="#" title="Показать/Скрыть"><span>Инженерные системы</span></a>
            <ul>
                <li><a href="/decisions/inzhenernye-sistemy/strukturirovannye-kabelnye-seti/">Структурированные кабельные сети (СКС)</a></li>
                <li><a href="/decisions/inzhenernye-sistemy/infrastruktura/">Инфраструктура ЦОД/Серверных помещений</a></li>
            </ul>
        </li>
        <li><a href="/decisions/setevaja-infrastruktura/" title="Показать/Скрыть"><span>Сетевая инфраструктура</span></a>
        </li>
        <li><a href="#" title="Показать/Скрыть"><span>Системы безопасности</span></a>
            <ul>
                <li><a href="/decisions/sistemy-bezopasnosti/videonabljudenie/">Видеонаблюдение</a></li>
                <li><a href="/decisions/sistemy-bezopasnosti/sistemy-kontrolja-dostupa-skd/">Системы контроля доступа (СКД)</a></li>
                <li><a href="/decisions/sistemy-bezopasnosti/sistemy-pozharnojj-bezopasnosti/">Системы пожарной безопасности</a></li>
            </ul>
        </li>
        <li><a href="/decisions/sistemy-vks/" title="Показать/Скрыть"><span>Системы Видеоконференции</span></a>
        </li>
        <li><a href="/decisions/audio-videno/" title="Показать/Скрыть"><span>Системы Аудио-видено</span></a>
            </li>
        <li><a href="/decisions/digital-signage/" title="Показать/Скрыть"><span>Решения Digital Signage</span></a>
            </li>
        
    </ul>
</div>


Проблема в том, что не могу обнулить/очистить сookie при переходе на пукт меню выше по уровню! т.к. в сookie записан предыдущий результат открытия списка.
Заранее спасибо.

Pavel M. 23.01.2012 13:18

я так понял, что после клика по меню первого уровня все подменю сворачиваются, а что значит фраза "при переходе на пукт меню выше по уровню!"

Денис2201 23.01.2012 14:47

проблема в следующем:
если я захожу в пункт с подменю, то он сохраняет cookie и отображает открытым активное подменю. Соответственно если я закрою страницу и открою ее заново, то вместо всех закрытых менюх я увижу открытым последний активный/открытый.

Денис2201 23.01.2012 16:57

как я предполагаю нужно как-то при переходе на определенную страницу обнулять/очищать cookie.

Pavel M. 23.01.2012 17:27

$.cookie('nav-item', null); // удалить cookie

Денис2201 23.01.2012 20:46

чего-то не особо помогло!
может быть есть идеи?

Arkinsstoun 24.01.2012 03:53

Цитата:

Сообщение от Денис2201 (Сообщение 152349)
чего-то не особо помогло!
может быть есть идеи?

попробуй после
$(this).addClass('active');

обнулить куки

Денис2201 24.01.2012 08:34

пробовал, не получилось(

Денис2201 24.01.2012 08:47

нужно что бы cookie очищалась только, когда мы находимся в корне!


Часовой пояс GMT +3, время: 19:14.