alors mon problème aujourd'hui est avec ce menu que j'ai mis en place pour le site d'un copain
http://css.alsacreations.com/xmedia/exemples/accordeon/menu_demo.html
le seul bémol c'est que mon pote a des aprioris sur la navigation (ya toujours un truc qui cloche)
ou alors il est trop bête et j'arrête de lui rendre service
car tout marche très bien, (le open_at_load, des liens ancrés qu'il voulait, les couleurs perso...) le css est bien fait pour le modifier à sa guise
MAIS le click le gêne : c'est à dire que pour lui quand on clique ça doit ouvrir une page, j'ai donc modifier le "return false" du script est ça marche mais dans ce cas c'est idiot de mettre un menu déroulant !
bref j'ai cherché un compromis et en changeant le ".click" en ".mouseover" le sous-menu se déroule bien au passage de la souris mais il se referme quand on repasse sur le "même" menu (je sais pas si je suis clair )
or je voudrais qu'il se referme que SI on passe sur un AUTRE menu !!
est-il possible de modifier ça dans ce code au niveau des évènements
- Code: Select all
$(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("normal", function () { $(this).parent().removeClass("open") } );
}
// Si le sous-menu est cache, on ferme les autres et on l'affiche :
else {
$("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;
});
} ) ;
mouais ... je pourrais mieux faire dans mes explications
merci rad si tu peux m'aider
jean paps