Я пытаюсь переместить некоторые элементы на странице, и во время анимации я хочу, чтобы «overflow: hidden» применялся к элементу, и «переполнение» возвращалось к «авто» после того, как анимация
Я знаю, что jQuery имеет функцию утилиты, которая определяет, анимируется ли какой-либо элемент, но я не могу найти его где-либо в документах
В качестве альтернативы, чтобы проверить, не что-то не анимированное, вы можете просто добавить «!»:
if (!$(element).is(':animated')) {...}
, если вы используете анимацию css и назначаете анимацию с помощью специального class name, вы можете проверить это следующим образом:
if($("#elem").hasClass("your_animation_class_name")) {}
Но убедитесь, что вы удаляете класс, который обрабатывает анимацию после завершения анимации!
Этот код можно использовать для удаления class name после завершения анимации:
$("#elem").on('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend',
function(){
$(this).removeClass("your_animation_class_name");
});
Если вы хотите применить css к анимированным элементам, вы можете использовать псевдоселектор :animated и сделать это следующим образом:
$("selector").css('overflow','hidden');
$("selector:animated").css('overflow','auto');
source: https://learn.jquery.com/ используя-JQuery-ядро / выбор-элементы /