Salut les dev. Bon je ne suis pas un cador en Javascript.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
jQuery(document).ready(function($) {
 
    var menud_ul = $('.menud > li > ul'),
		menud_a  = $('.menud > li > a');
 
menud_a.each(function (){
    if(menud_a.hasClass("active")){
      menud_ul.show();
    } else{      
      menud_ul.hide();
    }
  });
 
    menud_a.click(function(e) {
        e.preventDefault();
        if(!$(this).hasClass('active')) {
            menud_a.removeClass('active');
            menud_ul.filter(':visible').slideUp('normal');
            $(this).addClass('active').next().stop(true,true).slideDown('normal');
        } else {
            $(this).removeClass('active');
            $(this).next().stop(true,true).slideUp('normal');
        }
    });
<this>: HTMLDocument http://localhost/joomla4/index.php/navigation

$:jQuery(selector, context)

arguments: Arguments

menud_a: {…}
​​
0: a.active​​
1: a.active​​
2: a​​
3: a​​
4: a


Voila ce que j'ai aujourd'hui.
Les menus accordéons que je fabrique en php sont masqués au chargement de ma page.
J'ai fait un paramétrage en php pour insérer une class active sur ceux que je veux voir déroulé au chargement. J'ai bien le .active qui se charge, mon bandeau est coloré comme si celui-ci était actif, mais non déployé ( surement a cause du menud_a.hide().
Comment désactiver le .hide() si la balise 'a' est active dans le code ?
Merci pour votre aide