установка высоты элемента после slidedown()

#javascript #jquery #animation

#javascript #jquery #Анимация

Вопрос:

я получил щелчок, который запускает a slideDown() в div. я думаю, что после расширения div я устанавливаю высоту другого div на основе расширенного div. Проблема заключается в том, что он принимает высоту и устанавливает ее до того, как другой div будет полностью сдвинут, на самом деле он принимает высоту div, которую он получил до того, как он выдвинулся.

есть ли способ приостановить все, пока slideDown() не будет сделано?

 $div.slideDown();

//sets the height of the Container
$outer_container.css("height", $inner_container.outerHeight());
  

Ответ №1:

Используйте функцию обратного вызова, которая запускается только после завершения анимации:

 $div.slideDown(400, function() {
    //sets the height of the Container
    $outer_container.css("height", $inner_container.outerHeight());
});
  

Или, чтобы использовать немного более компактный подход:

 $div.slideDown(400, function() {
    $outer_container.height($inner_container.outerHeight());
});