@eugene159

Можно ли сделать так, чтобы callback у .animate, примененного к множественному селектору вызывался только один раз?

Есть такой код. В консоль выводится 5 сообщений. Как сделать так, чтобы выводилось всего одно? Без костылей. Возможно ли это?
  • Вопрос задан
  • 29 просмотров
Решения вопроса 1
@eugene159 Автор вопроса
Ответили на другом ресурсе. Копирую ответ сюда.

Можно получить объект jQuery-промиса:
$('.elem').animate({opacity: 0}, { duration: 1000, queue: false}).promise().done(function() {
    console.log("1 сообщение");
});
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
meowto16
@meowto16
Делаю штуки
let isAnimated = false;
$('.elem').animate({opacity: 0}, { duration: 1000, queue: false, complete: function() {
	if (!isAnimated) {
  console.log('В консоль выводится 5 сообщений. Как сделать так, чтобы выводилось всего одно?');
  isAnimated = true;
  }
}
});
Ответ написан
Ваш ответ на вопрос

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

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