jQuery inversion de l'animation sur le deuxième clic
J'ai un élément div, que sur l'événement click, un lien diapositives. Cela fonctionne très bien, sauf que je suis maintenant essayer de l'obtenir, de sorte que si le lien est cliqué, une seconde fois, l'animation renverse à son état d'origine.
J'ai essayé d'ajouter une classe pour le lien, mais quand l'animation s'exécute, elle finit par faire la même animation, mais à l'envers.
$('a.contact').click(function() {
$('#contact').animate({marginLeft:'500px'}, {queue:false, duration:'7000'});
$('#contact').animate({width:'500px'}, {duration:'7000'});
$('a.contact').css()
$('a.contact').animate({marginLeft:'-500px'}, '250');
$('a.contact')addClass('open');
return false;
});
si c'est votre code, vous manquez une période aussi, l'utilisation de chaînage
OriginalL'auteur Udders | 2010-01-25
Vous devez vous connecter pour publier un commentaire.
La façon la plus simple de gérer ce qui serait d'utiliser jQuery bascule. Cela vous permet d'activer les deux fonctions sur d'autres clics.
...Et un rapide jsFiddle à démontrer.
Remarque que cela utilise jQuery bascule gestionnaire d'événements, pas l'effet d'animation du même nom.
Note #2: conformément à la documentation, toggle() a été retirée en jQuery 1.9. (C'est la signature de la méthode qui vous a permis de passer plusieurs fonctions qui ont été activés sur les clics.)
OriginalL'auteur John McCollum
Tout d'abord il vous manque un . dans le addClass ligne. C'est la bonne version:
$("une.contact").addClass('open');
De toute façon, je ferais comme ceci:
La raison que vous avez besoin de se lier avec le live de la fonction, c'est que la classe "open" n'est pas ajouté à tous les éléments lors de l'ordinaire .cliquez sur la (les) liaison a lieu.
Lire sur le live de la méthode ici: http://api.jquery.com/live/
OriginalL'auteur EmKay
OriginalL'auteur andres descalzo