Bonjour,
Je voudrais mettre le code javascript du menu déroulant jquery sur une page
à part et l'appeler à partir d'une autre page.
Est-ce possible, et comment ?
Merci pour votre aide.
Salutations
Modifié par jmde1 (07 Jun 2009 - 14:17)
Je voudrais mettre le code javascript du menu déroulant jquery sur une page
à part et l'appeler à partir d'une autre page.
Est-ce possible, et comment ?
Merci pour votre aide.
Salutations
<script language="JavaScript" type="text/javascript" src="../../jquery/jquery-1.3.1.min.js"></script>
<script type="text/javascript">
<!--
$(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;
});
} ) ;
// -->
</script>
Modifié par jmde1 (07 Jun 2009 - 14:17)