Dla jQuery, jaka jest różnica w wyniku następujących dwóch fragmentów kodu. Byle co? Czy poprawiam, że wywołanie zwrotne i drugi element w łańcuchu są wykonywane po ukończeniu pierwszej animacji?Jquery Chaining vs Callbacks
$(selector).animate({ opacity: 1 }).animate({ opacity: 0.5 });
vs
$(selector).animate({ opacity: 1}, function()
{
$(this).animate({ opacity: 0.5 });
});
w jaki typu (-ów) sytuacji chciałbym używać jednego nad drugim? Czy używałbym tego ostatniego tylko wtedy, gdy potrzebowałbym czegoś bardziej wyrafinowanego lub przejść na inny selektor?
Z góry dziękuję.
Tak samo szybko oceniam, że pierwszy byłby bardziej wydajny, ponieważ nie trzeba rzutować $ (this) jako obiektu jQuery, a następnie wywoływać animację na nim. Prawdopodobnie chcesz użyć drugiej opcji, jeśli musisz robić bardziej skomplikowane rzeczy. Edycja: Widzę, że nie szukasz skuteczności, uważałbym, że obie funkcje są takie same, ponieważ w pierwszym przypadku animate musiałoby powrócić przed drugim wywołaniem. – kand
jQuery zarządzaj animacjami, umieszczając je w kolejce, aby druga animacja nie została wykonana, dopóki nie zakończy się pierwsza. Dotyczy to tylko animacji. Zobacz przykład na http://api.jquery.com/queue/ – Stefan
@Stefan Moce. Czy to, co mówisz, odnosi się do czegokolwiek wymienionego tutaj? [Efekty jQuery] (http://api.jquery.com/category/effects/) – technoTarek