Bonsoir,
j'ai suivi le tutoriel sur la création d'un menu déroulant avec jQuery.
Cependant je n'arrive pas à l'adapter à l'horizontal!
Voici mon code html:
et maintenant mon code CSS:
Le tout est disponible ici si vous souhaitez voir mon bug!
http://maxime350.free.fr/jquery/essai.html#
Merci à tous pour votre aide!
Modifié par maxime350 (23 Dec 2007 - 16:51)
j'ai suivi le tutoriel sur la création d'un menu déroulant avec jQuery.
Cependant je n'arrive pas à l'adapter à l'horizontal!
Voici mon code html:
<head>
<link rel="stylesheet" type="text/css" href="format.css" />
<script type="text/javascript" src="./jquery-1.2.1.js"></script>
<script type="text/javascript">
<!--
$(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>
</head>
<ul class="navigation">
<li><a href="#" title="Aller à la page 1">Item 1</a></li>
<li class="toggleSubMenu"><span>Item 2</span>
<ul class="subMenu">
<li><a href="#" title="Aller à la page 2.1">Item 2.1</a></li>
<li><a href="#" title="Aller à la page 2.2">Item 2.2</a></li>
<li><a href="#" title="Aller à la page 2.3">Item 2.3</a></li>
</ul>
</li>
<li class="toggleSubMenu"><span>Item 3</span>
<ul class="subMenu">
<li><a href="#" title="Aller à la page 3.1">Item 3.1</a></li>
<li><a href="#" title="Aller à la page 3.2">Item 3.2</a></li>
</ul>
</li>
<li><a href="#" title="Aller à la page 4">Item 4</a></li>
</ul>
</html>
et maintenant mon code CSS:
.navigation {
margin: 0;
padding: 0;
list-style: none;
background: #000;
color: #fff;
width: 100%;
font: arial;
font-size: 15pt;
text-align: center;
vertical-align: center;
font-variant : small-caps;
list-style-type : none;
}
.navigation a, .navigation span {
display: block;
float: left;
height: 30px;
width: 150px;
color: #fff;
text-decoration: none;
background: #000 url('./boutonmenu.png') left bottom no-repeat;
}
.navigation .toggleSubMenu a, .navigation .toggleSubMenu span {
background-image: url('./boutonmenuplus.png');
}
.navigation .open a, .navigation .open span {
background-image: url('./boutonmenumoins.png');
}
.navigation a:hover, .navigation a:focus, .navigation a:active {
text-decoration: underline;
}
.navigation .subMenu {
font-size: .8em;
width: 150px;
background-image: url('./boutonmenu.png');
background-repeat: repeat-x;
font-size: .9em;
border-bottom: 0px solid #193441;
list-style-type : none;
}
.navigation ul.subMenu a {
background: none;
padding: 3px 20px;
}
Le tout est disponible ici si vous souhaitez voir mon bug!
http://maxime350.free.fr/jquery/essai.html#
Merci à tous pour votre aide!
Modifié par maxime350 (23 Dec 2007 - 16:51)