se puede utilizar el método de stop()
HTML:
<input type="button" value="fade out" id="start">
<input type="button" value="stop" id="stop">
<div style="background-color: blue; height: 100px;">Testing</div>
JS:
$("#start").click(function() { $("div").fadeOut("slow"); });
$("#stop").click(function() { $("div").stop(); });
edición: El código anterior se ha probado y funciona en FF3. 5 e IE8
Utilícelo en el elemento sobre el que desea interrumpir la animación.
Solo recuerda que el elemento dejará de animar la mitad de la animación. Por lo tanto, es posible que deba restablecer el CSS después de la detención, según sus circunstancias.
Edit2: A partir de jQuery 1.7 ha habido algunos cambios. Ahora puede agrupar colas de animación con nombres. Por lo tanto, el método stop()
aceptará un booleano o una cadena como primer parámetro. Si es un booleano, borrará/no borrará todas las colas. Pero si proporciona una cadena, solo borrará las animaciones en ese grupo de cola.
impide que no funcione en fadeOut? Nada parece estar sucediendo .. – Dan
A partir de la versión 1.7, esta respuesta está desactualizada, ya que la sintaxis de ['.stop'] (http://api.jquery.com/stop/) ha cambiado. '$ (" div "). stop (true);' debería funcionar. – Dennis
Tienes razón, @Dennis, así que actualicé mi respuesta. – peirix