true stop remove not false animate javascript jquery

javascript - remove - stop video jquery



¿Cómo cancelas un jQuery fadeOut() una vez que ha comenzado? (2)

Tengo un elemento div básico para representar un mensaje que se muestra durante unos segundos y luego se desvanece usando

$(''#message'').fadeOut(5000);

Quiero poder cancelar el fundido de salida si el usuario coloca el mouse sobre el div.

¿Cómo puedo cancelar el fundido de salida una vez que el método fadeOut ha comenzado a desvanecer el div?

Mi código actual, a continuación, funciona si el mouse ingresa el div mientras se muestra pero tengo que permitir que el usuario pase el cursor sobre el div una vez que ha comenzado a desvanecerse.

$(''#message'').mouseenter(function() { clearTimeout(this.timeout); }); $(''#message'').mouseleave(function() { this.timeout = setTimeout("$(''#message'').fadeOut(5000)", 3000); }); $(''#message'').fadeIn(2000, function() { this.timeout = setTimeout("$(''#message'').fadeOut(3000)", 3000); });


Además, puedes probar si un elemento está en el medio de una animación usando el selector: :animated :

$(''#message'').mouseover( function () { if($(this).is('':animated'')) { $(this).stop().animate({opacity:''100''}); } } );