А если поставим начальные значения
top
и
left
отличные от 0, callback выполнится через 1 секунду, а не как положено через 5.
В твоем примере resolve выполняется по первому сработавшему
animationend
, а я пытаюсь сделать событие allNewAnimationsEnd.
Ладно узнали мы имена новых анимаций, можно попробовать дождаться окончания их всех. НО мы не знаем какие из этих анимаций будут выполняться.
Наверное, буду пока что считать getFiniteAnimationName только для новых анимаций, а delay будет:
var delay = Math.max(
getTransitionTime(style),
getFiniteAnimationTime(style, newAnimationNames)
);
Интересно, значит все таки 1
animationend
гарантированно срабатывает (надеюсь во всех браузерах). Я почему-то был уверен, что если еще и для
left
поставлю начальное значение 0, то вообще ни одно событие не сработает и callback никогда не выполнится.