2010-11-23 26 views
0

Salut J'essaie de faire en sorte que mon menu reste ouvert lorsqu'un élément est sélectionné au lieu de le fermer immédiatement. Voici mon fichier jquery.collaspe.js:Menu Jquery Collapser Doit rester ouvert lorsqu'une nouvelle page est chargée

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(); 

}); 

}; 

J'utilise les listes à puces & quand quelqu'un clique sur un élément de la liste dans le menu ferme retour à nouveau au lieu de laisser l'utilisateur de savoir qu'il a été sélectionné et rester ouvert sur cet élément dans la liste .....

Je sais que je dois ajouter une sorte de code "sélectionné", mais je ne sais pas comment faire cela. S'il vous plaît aider !!!!!!!

+0

Pouvez-vous S'il vous plaît modifier votre question pour rendre votre code plus lisible? Mettez en surbrillance le code et appuyez sur le petit bouton de type code. –

Répondre

0
  1. Ajouter une classe CSS à l'élément sélectionné
  2. Quand une nouvelle page apparaît: obtenir l'élément de menu à l'aide de sa catégorie et afficher le menu (probablement en appelant .show() sur ses parents,)