J'ai fait une navigation déroulante en utilisant Jquery et css. Lorsque vous cliquez sur un bouton spécifique, il s'ouvre, mais je n'arrive pas à le fermer lorsque vous cliquez à nouveau sur ce bouton. Voici le code que je utilise (je l'ai créé un bouton « Fermer » pour fermer mais que vous voulez qu'il se ferme lorsque vous cliquez sur le même bouton que vous avez fait pour l'ouverture)Ouvert une navigation de liste déroulante, mais ne peut pas le fermer (jQuery)
Jquery:
$("#shadow").css("height", $(document).height()).hide();
$(".menubutton").click(function() {
$(".thetopmenu").css("padding","0px");
$(".thetopmenu").css("display","block"); // Displayes the menu
$(this).addClass("active"); // Add "active" class to selected tab
$("#shadow").toggle();
});
$(".close").click(function() {
$(".thetopmenu").css("display","none");
$(".menubutton").removeClass("active");
$("#overlay").css("display","none"); // Removes "active" class to selected tab
$("#shadow").toggle();
});
CSS:
.menubutton {
margin: 0; padding: 6px 0 0 0;
background: url(images/menu.png) no-repeat left top;
width: 44px; height: 16px;
position: absolute;
right: 10px;
top: 20px;
text-align: center;
display: block;
text-transform: uppercase;
color: #c3c3c3;
text-shadow: 0px -1px 0px #4f4f4f;
font-family: MPSemibold, Arial;
font-size: 10px;
text-decoration: none;
}
.menubutton:link {
text-transform: uppercase;
color: #c3c3c3;
text-shadow: 0px -1px 0px #4f4f4f;
font-family: MPSemibold, Arial;
font-size: 10px;
text-decoration: none;
}
.menubutton:active, .menubutton.active, menubutton:hover {
background: url(images/menuh.png) no-repeat left top;
color: #fff;
}
.thetopmenu {
display: none;
position: absolute;
left: 0;
z-index: 999;
top: 61px;
width: 100%;
}
HTML:
<a href="#" class="menubutton"><span>Menu</span></a>
<div class="thetopmenu">
<ul id="content">
<li><a href="ladies.php">Ladies' Collection</a></li>
<li><a href="gents.php">Gents' Collection</a></li>
<li><a href="store.php">Store Locator</a></li>
<li><a href="#" class="close">Close</a></li>
</ul>
</div>
le #shadow s'efface tout le reste de l'écran et laisse sur Le menu est normal. Je pense que c'est assez simple mais je ne suis pas très bon en jQuery.
Merci
Merci, c'est exactement ce que je cherchais. J'ai essayé si - mais je n'ai pas réussi à le faire fonctionner. Vos œuvres comme un charme. Merci encore;) – pomaaa
De rien. N'oubliez pas de marquer la réponse comme correcte. :) Aussi, je suggère de modifier votre code afin que vous puissiez utiliser une fonction plus générique. Tout comme j'ai utilisé $ (this) dans mon mod, vous devriez être capable de rendre le code général et réutilisable, si plusieurs menus sont dans l'équation. Faites-moi savoir si vous avez besoin d'aide à cette fin. – clifgriffin
Je comprends maintenant, j'ai remplacé "ceci" par ".thetopmenu" et cela fonctionne :) – pomaaa