Bonjour,

J'ai utilisé le tuto d'alsacreations consacré au menu accordéon. Tout fonctionne nickel mais je souhaiterais le modifier en ayant la possibilté d'ouvrir plusieurs menus et non pas qu'ils se ferment quand on en ouvre un autre. Comment faire ?
Merci

Voici le code du tuto:

<script type="text/javascript">
<!--
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
$("ul.subMenu:not('.open_at_load')").hide();
// On selectionne tous les items de liste portant la classe "toggleSubMenu"

// et on remplace l'element span qu'ils contiennent par un lien :
$("li.toggleSubMenu span").each( function () {
// On stocke le contenu du span :
var TexteSpan = $(this).text();
$(this).replaceWith('<a href="" title="Afficher le sous-menu">' + TexteSpan + '</a>') ;
} ) ;

// On modifie l'evenement "click" sur les liens dans les items de liste
// qui portent la classe "toggleSubMenu" :
$("li.toggleSubMenu > a").click( function () {
// Si le sous-menu etait deja ouvert, on le referme :
if ($(this).next("ul.subMenu:visible").length != 0) {
$(this).next("ul.subMenu").slideUp("fast", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est cache, on ferme les autres et on l'affiche :
else {
$("ul.subMenu").slideUp("fast", function () { $(this).parent().removeClass("open") } );
$(this).next("ul.subMenu").slideDown("fast", function () { $(this).parent().addClass("open") } );
}
// On empêche le navigateur de suivre le lien :
return false;
});

} ) ;
// -->
</script>
Salut eman,


Merci d'utiliser les balises adéquates lorsque tu postes du code sur le forum ([ code] et [ /code] sans les espaces) Smiley cligne

Si on reformule ton problème, tu veux que le click sur les éléments du menu ne referme pas les autres éléments s'ils sont ouverts.

C'est justement ce que fait la ligne de code suivante:
$("ul.subMenu").slideUp("fast", function () { $(this).parent().removeClass("open") } );
Commence par la supprimer. Je ne peux pas tester ce que ça va donner, mais ça devrait déjà t'aider.
Désolé pour les balises j'ai pas l'habitude de poster couramment ici.
En tout cas merci beaucoup pour ton aide. Tout fonctionne parfaitement.
En fait j'avais modifié la ligne en cause au lieu de la supprimer comme tu m'as indiqué....
Voilà merci encore Smiley smile
Modifié par eman (13 Aug 2009 - 18:37)