В моей закрытой функции я хочу сделать все мое очищающее средство DOM после завершения css-переходов. Но не может быть никаких переходов, выполняемых/может быть многоступенчатым - (сохранение таблиц стилей из моих рук).
Как я могу написать функцию, например следующую
function close () {
myEl.removeClass('open');
if (animation is running/about to be run) {
// wait for transition to end, then recursively check to see if another
// one has started, wait for that ...
// then
cleanUpDOM();
} else {
cleanUpDOM();
}
}
Мои мысли до сих пор состоят в том, чтобы обернуть начальную проверку в timeout/requestAnimationFrame, чтобы дать анимации возможность начать, а затем проверить, не работает ли она. К сожалению, без события transitionstart
я понятия не имею, как проверить, начался переход.
edit Ответы, рекомендующие jquery, неактуальны, поскольку анимация jquery - это анимация javascript, а не переходы CSS