Bonjour,
Je ne connais pas trop Javascript et en fait j'ai du mal à l'assimiler.
Malgré plusieurs essaies et tentatives, je n'arrive pas à faire en sorte que lorsque je clique sur "PRODUIT", le sous-menu apparaisse et qu'ensuite je puisse cliquer sur "Produit sous-menu A" pour que le sous-sous-menu apparaisse. Aujourd'hui, "PRODUIT" est déjà déroulé. Voici mon code :
Et le code Javascript est le suivant :
Merci pour votre aide.
A+
Je ne connais pas trop Javascript et en fait j'ai du mal à l'assimiler.
Malgré plusieurs essaies et tentatives, je n'arrive pas à faire en sorte que lorsque je clique sur "PRODUIT", le sous-menu apparaisse et qu'ensuite je puisse cliquer sur "Produit sous-menu A" pour que le sous-sous-menu apparaisse. Aujourd'hui, "PRODUIT" est déjà déroulé. Voici mon code :
<div class="sous-menu">
<li><a href="index.html">ACCUEIL</a></li>
<li><a href="historique.html">HISTORIQUE</a></li>
<li><a href="contact.html">CONTACT</a></li>
<ul class="navigation">
<li class="toggleSubMenu"><span>PRODUITS</span>
<li class="toggleSubMenu"><span>Produit sous-menu A</span>
<ul class="subMenu">
<li><a href="c.html">Sous-sous menu 1</a></li>
<li><a href="g.html">Sous-sous menu 2</a></li>
<li><a href="e.html">Sous-sous menu 3</a></li>
<li><a href="s.html">Sous-sous menu 4</a></li>
</ul>
</li>
<li class="toggleSubMenu"><span>Produit sous-menu B</span>
<ul class="subMenu">
<li><a href="a.html">Sous-sous menu 1</a></li>
<li><a href="b.html">Sous-sous menu 2</a></li>
<li><a href="c.html">Sous-sous menu 3</a></li>
<li><a href="f.html">Sous-sous menu 4</a></li>
</ul>
</li>
</ul>
</div>
Et le code Javascript est le suivant :
$(document).ready( function () {
// On cache les sous-menus
// sauf celui qui porte la classe "open_at_load" :
$(".navigation ul.subMenu:not('.open_at_load')").hide()
// 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>
Merci pour votre aide.
A+