Вы должны знать, что код не выполняется линейно. Нельзя ожидать, что анимированные вещи остановят выполнение кода, чтобы выполнить анимацию, а затем вернутся.
<code>
commmand();
animation();
command();
Это связано с тем, что анимация использует заданное время ожидания и другую подобную магию для выполнения своей работы, а установленное время не является блокирующим.
Вот почему у нас есть методы обратного вызова для анимации, которые запускаются, когда анимация завершена (чтобы избежать изменения чего-то, что еще не существует)
command();
animation( ... function(){
command();
});
</code>