Bonjour,
j'utilise un menu déroulant avec des menus, sous menus et sous-sous-menu comme ci dessous :
J'utilise un code javascript pour menu accordéon puisé sur les tutos alsacréations. Cependant je souhaiterais que lorsque la personne clique sur les sous-sous-menus et accède à la page correspondante, le menu (à qui appartient le sous-sous-menu cliqué) reste déroulé comme cela elle saura dans quel menu elle se trouve à chaque fois.
Voici le code javascript que j'utilise:
-----------------------------------------
Voici une partie du code html
C'était presque cela: sans espace après le crochet ouvrant -------------
merci d'avance pour votre aide.
A+
Modifié par haouaria (06 Jan 2009 - 14:01)
j'utilise un menu déroulant avec des menus, sous menus et sous-sous-menu comme ci dessous :
MENU A
sous-menu A
sous-sous-menu 1
sous-sous-menu 2
sous-menu B
sous-sous-menu 1
sous-sous-menu 2
MENU B
sous-menu A
sous-sous-menu 1
sous-sous-menu 2
sous-menu B
sous-sous-menu 1
sous-sous-menu 2
J'utilise un code javascript pour menu accordéon puisé sur les tutos alsacréations. Cependant je souhaiterais que lorsque la personne clique sur les sous-sous-menus et accède à la page correspondante, le menu (à qui appartient le sous-sous-menu cliqué) reste déroulé comme cela elle saura dans quel menu elle se trouve à chaque fois.
Voici le code javascript que j'utilise:
<script type="text/javascript">
<!--
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
[#red][b]$(".navigation ul.subMenu:not('.open_at_load')").hide()[/b][/#]
[#blue]Je crois bien que nous parlons du même tutoriel,
et que ta lecture de ce dernier n'est pas suffisamment attentive...[/#]
// On sélectionne tous les items de liste portant la classe "toggleSubMenu"
// et on remplace l'élément span qu'ils contiennent par un lien :
$(".navigation 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'évènement "click" sur les liens dans les items de liste
// qui portent la classe "toggleSubMenu" :
$(".navigation li.toggleSubMenu > a").click( function () {
// Si le sous-menu était déjà ouvert, on le referme :
if ($(this).next("ul.subMenu:visible").length != 0) {
$(this).next("ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est caché, on ferme les autres et on l'affiche :
else {
$(".navigation ul.subMenu").slideUp("normal", function () { $(this).parent().removeClass("open") });
$(this).next("ul.subMenu").slideDown("normal", function () { $(this).parent().addClass("open") } );
}
// On empêche le navigateur de suivre le lien :
return false;
});
} ) ;
// -->
</script>
-----------------------------------------
Voici une partie du code html
<ul class="navigation">
<li class="toggleSubMenu"><span>MENU A</span>
<ul class="subMenu">
<li class="toggleSubMenu"><span>Sous-menu A</span>
<ul class="subsubmenu">
<li><a href=".html">Sous-sous-menu 1</a></li>
<li><a href=".html">Sous-sous-menu 2</a></li>
</ul>
<li><a href=".html">Sous-menu B</a></li>
<ul class="subsubmenu">
<li><a href=".html">Sous-sous-menu 1</a></li>
<li><a href=".html">Sous-sous-menu 2</a></li>
</ul>
<li class="toggleSubMenu"><span>MENU B</span>
<ul class="subMenu">
<li class="toggleSubMenu"><span>Sous-menu A</span>
<ul class="subsubmenu">
<li><a href=".html">Sous-sous-menu 1</a></li>
<li><a href=".html">Sous-sous-menu 2</a></li>
</ul>
<li><a href=".html">Sous-menu B</a></li>
<ul class="subsubmenu">
<li><a href=".html">Sous-sous-menu 1</a></li>
<li><a href=".html">Sous-sous-menu 2</a></li>
</ul>
C'était presque cela: sans espace après le crochet ouvrant -------------
merci d'avance pour votre aide.
A+
Modifié par haouaria (06 Jan 2009 - 14:01)