2013-07-17 5 views
1

Je suis assez nouveau pour javascript/jquery et je viens de construire un simple menu de diapositives.Menu diapositive jquery - meilleure façon?

Il a 3 menus et chaque menu a un sous-menu ... tout fonctionne bien, je veux juste savoir s'il y a une meilleure façon d'accomplir la même tâche.

Voici mon code js:

function menuOpen(menu){ 
    if(menu=='menu1'){ 
     $("#sub2").slideUp(400); 
     $("#sub3").slideUp(400); 
     $("#sub1").slideToggle(400); 
    }else if(menu=='menu2'){ 
     $("#sub1").slideUp(400); 
     $("#sub3").slideUp(400); 
     $("#sub2").slideToggle(400); 
    }else if(menu=='menu3'){ 
     $("#sub1").slideUp(400); 
     $("#sub2").slideUp(400); 
     $("#sub3").slideToggle(300); 
    } 
} 
+1

http://api.jqueryui.com/menu/ - pas besoin de réinventer la roue – DevlshOne

+0

d'accord avec @DevlshOne - ou peut-être même http://jqueryui.com/accordion/ – iGanja

Répondre

1

sans voir votre code HTML:

LIVE DEMO

function menuOpen(menu){  
    var num = menu.match(/\d+/); // Regex expression to retrieve the Number     
    $('[id^=sub]').slideUp();  // slide UP all ID starting with sub 
    $('#sub'+num).slideToggle(); // get the desired ID :) 
} 

utilisation de jQuery signifie que nous voulons facilement manipuler des éléments DOM, ce qui signifie que, sans voir un échantillon HTML de vos nœuds DOM et de la structure que vous êtes sur le point de cibler, il est difficile de rendre le encore plus simple.

+1

bien mieux que mon code. ..Merci!! – fackz

+0

@ user1541940 vous êtes les bienvenus! :) –

Questions connexes