Vinz92270
Messages postés13Date d'inscriptionjeudi 10 juillet 2008StatutMembreDernière intervention10 août 2009
-
10 août 2009 à 11:26
Vinz92270
Messages postés13Date d'inscriptionjeudi 10 juillet 2008StatutMembreDernière intervention10 août 2009
-
10 août 2009 à 15:28
Bonjour à vous,
Tout d'abord, j'ai mis ce sujet dans cette catégorie, mais si il doit être déplacé n'hésitez pas.
J'ai développé un petit menu déroulant, comme on peut en trouver beaucoup sur internet. Quand on clique sur un menu, il s'ouvre et laisse apparaitre les sous-menu.
$(document).ready( function () {
// On cache les sous-menus :
$(".navigation ul.subMenu").hide();
// On sélectionne tous les items de liste portant la classe "toggleSubMenu"
// 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");
}
// Si le sous-menu est caché, on ferme les autres et on l'affiche :
else {
$(".navigation ul.subMenu").slideUp("normal");
$(this).next("ul.subMenu").slideDown("normal");
}
// On empêche le navigateur de suivre le lien :
return false;
}
);
});
Je l'ai développé en testant sous Firefox, et pas de soucis. Mais dès que j'ai voulu le tester sous IE, je me suis retrouvé avec un décalage.
J'ai pas mal cherché, mais rien trouvé de concluant.
Je pense d'après mes recherches, que c'est un pblm de syntaxe qui ne gêne pas sous FF mais gênante sous IE.
Vinz92270
Messages postés13Date d'inscriptionjeudi 10 juillet 2008StatutMembreDernière intervention10 août 2009 10 août 2009 à 15:28
OK.
Mais à force de chercher j'ai trouvé la réponse. Le code est bon, mais mes balises n'étaient pas au bon endroit.
J'ai remis mes balises <script></script> dans le header. Et ça remarche.