Jquery Collapser Menu Необходимо оставаться открытым при загрузке новой страницы - PullRequest
0 голосов
/ 23 ноября 2010

Привет. Я пытаюсь сделать свое меню открытым, когда выбран элемент, вместо того, чтобы сразу же закрываться.Вот мой файл jquery.collaspe.js:

jQuery.fn.not_exists = function(){return jQuery(this).length==0;}

jQuery.fn.jqcollapse = function(o) {

 // Defaults
 var o = jQuery.extend( {
   slide: true,
   speed: 300,
   easing: ''
 },o);

 $(this).each(function(){

  var e = $(this).attr('id');

  $('#'+e+' li > ul').each(function(i) {
     var parent_li = $(this).parent('li');
     var sub_ul = $(this).remove();

     // Create 'a' tag for parent if DNE

     if (parent_li.children('a').not_exists()) {
      parent_li.wrapInner('<a/>');
     }

     parent_li.find('a').addClass('jqcNode').css('cursor','pointer').click(function() {
         if(o.slide==true){
          sub_ul.slideToggle(o.speed, o.easing);
         }else{
          sub_ul.toggle();
         }
     });
     parent_li.append(sub_ul);
 });

 //Hide all sub-lists
  $('#'+e+' ul').hide();

 });

};

Я использую неупорядоченные списки, и когда кто-то нажимает на элемент списка, меню снова закрывается, вместо того, чтобы сообщить пользователю, что он выбран, иоставайтесь открытым для этого элемента в списке .....

Я знаю, что мне нужно добавить какой-то "выбранный" код, но не уверен, как это сделать.Пожалуйста, помогите !!!!!!!

1 Ответ

0 голосов
/ 23 ноября 2010
  1. Добавить класс CSS к выбранному элементу
  2. Когда открывается новая страница: получить элемент меню, используя его класс, и отобразить меню (возможно, вызвав .show() для его родителей)
...