Как проверить, все ли анимации внутри моей функции закончились? - PullRequest
1 голос
/ 21 февраля 2020

У меня есть этот псевдокод. Мне нужно проверить, что все анимации закончились.

Моя функция с множеством анимаций внутри:

    function animateText($element, $callback) {
        var $this = $element;
        var $wordList = $this.text().split("");
        $this.text("");
        $this.css('opacity', 1);

        $.each($wordList, function (idx, elem) {
            var newEL = $("<span/>").text(elem).css({
                opacity: 0
            });
            newEL.appendTo($this);
            newEL.delay(idx * 125);
            newEL.animate({
                opacity: 1
            }, 500, 'swing', function () {
               // now are animations are done
                if ($wordList.length === idx + 1) {
                    $callback();
                }
            });
        });


    };

Мы начали!

animateText('#myText', function(){
  console.log('ALL ANIMATIONS ARE DONE!');
});

Мне нужно знать, когда все анимации закончились и после перезвона. Этот подход работает, но можно ли его как-то лучше написать?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...