Как задать последовательность выполнения функций в jquery?

Здравствуйте.

Как сделать, чтобы функции выполнялись последовательно? То есть так, чтобы последующая начиналась после того, как полностью выполнится предыдущая. Сейчас, они стартуют одновременно.

В целом, хочется понять, как задать последовательность выполнения функций для разных элементов (не обязательно fadeIn/fadeOut).

Буду сильно признателен за помощь!

$(document).ready(function () {
    $(".btn").on("click", function () {
        $(this).find(".img-animation").css({
                "width": "100%",
                "height": "100%",
            });
        $(this).find(".text-description").fadeIn();
        $(this).find(".img-description").fadeOut();
    });
    });
  • Вопрос задан
  • 1020 просмотров
Пригласить эксперта
Ответы на вопрос 3
Ifelseapps
@Ifelseapps
Frontend developer/JavaScript developer
Вы про fadeIn/fadeOut?
В них можно передать callback, который выполнится, когда анимация завершится.
См. доку. api.jquery.com/fadein

fadeIn должна выполняться после анимации изменения width и height?
У вас на изменение этих свойств прописан transition? Тогда Вам нужно ловить событие transitionend.
Ответ написан
twobomb
@twobomb
$(document).ready(function () {
    $(".btn").on("click", function () {
        $(this).find(".img-animation").css({
                "width": "100%",
                "height": "100%",
            });
            var _this = this;
        $(this).find(".text-description").fadeIn("slow",function(){
        $(_this).find(".img-description").fadeOut("slow");
        });
        
    });
    });
Ответ написан
Комментировать
Sanovskiy
@Sanovskiy
Веб-разработчик с 2005 года
Все уже есть в jQuery
.queue()
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы