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

добрый день, как вызвать функцию после выполнения "добавления" append, не прибегая к setTimeout.
Смысл такой что у меня создается "налету" элемент div с заданным классом и он скрыт. после того как элемент был добавлен в дом я хочу плавно его ввести через добавление класса. Если я сделаю
$('body').append(data);
$(data).addClass('open');

то элемент у меня сразу появится. если я сделаю через setTimeout
$('body').append(data);
setTimeout(() => {
$(data).addClass('open');
}, 100);

то будет работать как надо - но это ведь костыль
  • Вопрос задан
  • 196 просмотров
Решения вопроса 1
evgen3
@evgen3
Фронтэнды
можно так попробовать сделать (через requestAnimationFrame): https://jsfiddle.net/rw6c35ep/
у вас проблема в том, что вставка и добавление класса происходят синхронно и получается сразу конечный результат
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы