tampon / file d'attente pour les effets jquery? Ou pour dire si un effet est en cours?
-
06-09-2019 - |
Question
J'ai un événement click qui vérifie pour voir si une forme de détails est correcte dire rempli .. puis j'appelle une fonction qui fait cela
$('#message_text').html(text);
$('#message_system').fadeIn("slow");
$('#message_system').animate({ opacity: 1.0 }, 5000)
.fadeOut('slow', function() {
$(this).hide();
});
Tout fonctionne bien, aussi longtemps que j'attends .. si je double cliquez sur le bouton deux fois par exemple qu'il cesse d'afficher ...
Je suppose que si elle est cachée cacher () alors fadeIn () affichera automatiquement?
Quelqu'un at-il une expérience avec ce ??
Ce que je voudrais probablement vous faire est le deuxième clic disgard puis les effets actuels et réafficher nouveau messaage
THanks
La solution
Je ne suis pas sûr que ce soit ce que vous êtes après, mais avez-vous regardé stop () méthode .
Vous pouvez passer directement à la fin de toutes les animations en cours en appelant $('#message_system').stop(true, true)
avant de commencer à nouveau.
Autres conseils
if ( ! $(this).is(':animated') ) {
// Do the animation...
}