Jquery animate вызов одного callback

352
12 декабря 2016, 10:14

Здравствуйте, есть 3 блока:

<div class="test">1</div>
<div class="test">2</div>
<div class="test">3</div>

И js код:

$('.test').animate({height: '100px'},function(){alert('callback');});

Подскажите, пожалуйста, как вызвать callback один раз в конце всей анимации, а не для каждого элемента набора?

Answer 1

Можно воспользоваться .promise(), тем более в jquery это уже реализовано.

$(document).ready(function(){
    $.when( $('.test').animate({height: '100px'}) ).done(function() {
        alert('готово');
    });
});

Рабочий пример https://jsfiddle.net/97c9wndb/

Подробнее https://api.jquery.com/promise/ и, например, http://www.tomauger.com/2014/web-development/using-promises-in-asynchronous-jquery-animate-calls

READ ALSO
PHP при AJAX-запросе воспринимается как текст

PHP при AJAX-запросе воспринимается как текст

При нажатии на кнопку происходит ajax-запрос на файл обработчикЭтот файл должен брать из бд данные и формировать html

260
Не работает динамическое добавление input

Не работает динамическое добавление input

При добавлении вопроса все нормально

250
Можно ли вставить свой атрибут в HTML-тег?

Можно ли вставить свой атрибут в HTML-тег?

Можно ли вставить свой атрибут в HTML-тег и потом обратиться к нему?

243