Vous pouvez simplement utiliser la fonction toggle() à la place du clic, mais je ne suis pas un grand fan de bascule. La solution ci-dessous intègre une classe aussi, mais voilà comment je le ferais:
$(document).ready(function() {
$("#menuicon").click(function(e) {
var menuicon = $(e.target);
if (!menuicon.hasClass('open'){
menuicon.addClass('open');
$("nav ul, .content").animate({left: "-15%"}, 1000);
} else {
menuicon.removeClass('open');
$("nav ul, .content").animate({left: "0"}, 1000);
}
});
});
Je voudrais également intégrer une classe « travail » là-bas pour éviter les doubles clics, mais peut être plus que vous avez besoin avec votre projet.
EDIT:
petite friandise supplémentaire que j'utiliser un peu, si vous avez des options de menu complexes qui impliquent quelques objets différents (comme une ancre, avec une img et une portée à l'intérieur, ou quelques-uns d'autres éléments), vous pouvez associer e.target avec la fonction jquery 'nearest()' pour être sûr de toujours sélectionner l'ancre et non l'un de ses enfants.
var clicked = $(e.target).closest('a');
Ceci est assez utile si vous essayez de chercher aussi des valeurs d'attributs de vos objets vous cliquez dessus, en utilisant cela, vous êtes certain que votre sélection sera toujours le « a » (plutôt que e.target retour un enfant img ou quelque chose), et vous pouvez travailler à partir de là.
Merci! Je vais utiliser celui-ci: D – CaptainXD
Heureux que ça va pour vous. – yeyene