Para jQuery, ¿cuál es la diferencia en el resultado de los dos fragmentos siguientes? ¿Cualquier cosa? ¿Estoy en lo correcto al decir que la devolución de llamada y el segundo elemento de la cadena se ejecutan una vez completada la primera animación?Jquery Chaining vs Callbacks
$(selector).animate({ opacity: 1 }).animate({ opacity: 0.5 });
vs
$(selector).animate({ opacity: 1}, function()
{
$(this).animate({ opacity: 0.5 });
});
En qué tipo (s) de la situación iba a querer usar uno sobre el otro? ¿Utilizaría este último solo si tuviera que hacer algo más sofisticado o cambiar a un selector diferente?
Gracias de antemano.
Al igual que una evaluación rápida, creo que la primera sería más eficiente ya que no tiene que convertir $ (esto) como un objeto jQuery y luego invocar animar sobre él. Probablemente solo quieras usar la segunda opción si tienes que hacer cosas más complicadas. Editar: Veo que no busca la eficiencia, creo que ambos funcionan de la misma manera, ya que en el primer caso, animate tendría que regresar antes de que se ejecute la segunda llamada. – kand
jQuery gestiona las animaciones poniéndolas en cola para que la segunda animación no se ejecute hasta que la primera haya finalizado. Esto solo se aplica a las animaciones. Vea el ejemplo en http://api.jquery.com/queue/ – Stefan
@Stefan Tiene sentido. ¿Lo que dices se aplica a todo lo que se detalla aquí? [jQuery Effects] (http://api.jquery.com/category/effects/) – technoTarek