Bonjour,
Je sais que cela va faire le 1001e sujet concernant comment faire pour garder ouvert un sous-menu accordéon lorsqu'on clique sur un lien de ce dernier.
J'ai bel et bien parcouru le forum mais je n'ai toujours pas réussi à résoudre mon problème.
Donc comme la plupart des gens, j'ai suivi ce tutoriel : http://www.alsacreations.com/tuto/lire/602-Creer-un-menu-accordeon-avec-jQuery.html
Je l'ai ensuite adapté à mon site au niveau de CSS et quelques actions lorsqu'on clique sur les liens etc...
A savoir mon site est dynamique, c'est à dire que j'ai fait une page index.php dans laquelle j'ai défini un style pour toutes les autres pages, et il n'y a juste que le contenu qui change.
J'en ai testé des variantes mais rien ne changent ...c'est pour cette raison que j'ai décidé de demander votre aide.
Voici un bout de code qui ressemblent fortement au tuto
Je ne maitrise pas vraiment le javascript...
Merci d'avance pour votre temps et votre aide
Modifié par manchester_010 (24 Aug 2011 - 16:21)
Je sais que cela va faire le 1001e sujet concernant comment faire pour garder ouvert un sous-menu accordéon lorsqu'on clique sur un lien de ce dernier.
J'ai bel et bien parcouru le forum mais je n'ai toujours pas réussi à résoudre mon problème.
Donc comme la plupart des gens, j'ai suivi ce tutoriel : http://www.alsacreations.com/tuto/lire/602-Creer-un-menu-accordeon-avec-jQuery.html
Je l'ai ensuite adapté à mon site au niveau de CSS et quelques actions lorsqu'on clique sur les liens etc...
A savoir mon site est dynamique, c'est à dire que j'ai fait une page index.php dans laquelle j'ai défini un style pour toutes les autres pages, et il n'y a juste que le contenu qui change.
J'en ai testé des variantes mais rien ne changent ...c'est pour cette raison que j'ai décidé de demander votre aide.
Voici un bout de code qui ressemblent fortement au tuto
$(document).ready( function () {
// On cache les sous-menus :
$(".navigation ul.subMenu").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").slideDown("normal", function ({$(this).parent().removeClass("open") });
//$(this).next("ul.subMenu").slideDown("normal");
}
// 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;
});
Je ne maitrise pas vraiment le javascript...
Merci d'avance pour votre temps et votre aide
Modifié par manchester_010 (24 Aug 2011 - 16:21)