2011-03-29 4 views

Respuesta

7

De la documentación de la API, .stop() es sólo para la animación, sin embargo .clearqueue() eliminará cualquier función unida a una cola de jQuery estándar.

Desde el docs:

Cuando el método .clearQueue() es llamada, todas las funciones de la cola que no han sido ejecutadas están elimina de la cola. Cuando se usa sin un argumento, .clearQueue() elimina las funciones restantes de fx, la cola de efectos estándar. En de esta manera es similar a .stop (verdadero). Sin embargo, mientras que el método .Stop() es destinado a ser utilizado solamente con animaciones, .clearQueue() también se puede utilizar para eliminar cualquier función que ha sido añade a una cola de jQuery genérico con la .queue () método.

1

jQuery admite varias colas, la más común es la cola fx para animaciones. .stop() funciona solo en la cola fx, mientras que clearQueue le permite especificar alguna otra cola (personalizada).


Aquí se muestra un ejemplo con una cola personalizada:

// First function to queue 
function a1(next) { 
    setTimeout(function() { 
     alert("one"); 
     next(); 
    }, 1000); 
} 

// Second function to queue 
function a2(next) { 
    setTimeout(function() { 
     alert("two"); 
     next(); 
    }, 1000); 
} 

// Queue both functions and start it off 
$('body').queue('alerts', a1).queue('alerts', a2).dequeue('alerts'); 

// Clear the queue to prevent the second alert from showing 
$('body').clearQueue('alerts'); 

Véase el demo.

Cuestiones relacionadas