Bonjour,
J'ai un petit problème pour garder un menu accordeon ouvert après avoir cliquer sur un lien.
La page html contient 2 div :
- une div pour le menu(qui fonctionne avec jquery)
- une div pour afficher en ajax les pages html ciblée par les liens.
Donc normalement seul la deuxième div est rafraichi. Le menu n'est pas rechargé : le probleme est lorsque que je clic sur un lien, le menu se referme alors que je souhaiterai qu'il reste ouvert sur le lien cliqué
html ( div du menu)
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 <div id="MenuS"> <ul class="menu"> <li class="1"><a href ="#">Menu1</a> <ul class="sousMenu"> <li> <a href ="lien1.html" id="1">Lien 1</a></li> <li> <a href ="lien2.html" id="1">Lien 2</a></li> </ul> </li> <li class="2"><a href ="#">Menu2</a> <ul class="sousMenu"> <li> <a href ="lien3.html" id="2">Lien 3</a></li> <li> <a href ="lien4.html" id="2">Lien 4</a></li> </ul> </li> </ul> </div>
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 $(document).ready( function () { $(".menu .sousMenu").hide(); // On cache les sous-menus // sauf celui qui porte la classe "open_at_load" : $(".menu li > a").click( function () { // Si le sous-menu était déjà ouvert, on le referme : if ($(this).next(".menu .sousMenu:visible").length != 0) { $(this).next(" .sousMenu").slideUp("normal"); } // Si le sous-menu est caché, on ferme les autres et on l'affiche : else { $(".menu .sousMenu").slideUp("normal"); $(this).next(" .sousMenu").slideDown("normal"); } return false; }); } ) ;
J'ai rajouté ce code en pensant garder le menu ouvert aprs le clic mais cela ne fonctionne pas: on dirait que l'id ne passe pas :
J'ai également essayé de le rajouter juste après
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 $(".sousMenu a").click(function() { $id=this.id; $chaine =".menu ."+1+" .sousMenu" ; alert($chaine); $($chaine).show(); }) ;
mais pas moyen
Code : Sélectionner tout - Visualiser dans une fenêtre à part $(".menu .sousMenu").hide();
Quelqu'un a une Idée???
Partager