Анимация: событие finish
Базовая Широко доступна
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.
Событие finish интерфейса Animation срабатывает, когда анимация завершается, либо когда анимация завершается естественным путём, либо когда метод Animation.finish() вызывается для немедленного завершения анимации.
Примечание: Состояние воспроизведения "paused" имеет приоритет над состоянием воспроизведения "finished"; если анимация приостановлена и завершена, состояние "paused" будет отображено. Вы можете принудительно перевести анимацию в состояние "finished", установив её startTime в document.timeline.currentTime - (Animation.currentTime * Animation.playbackRate).
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или задайте свойство обработчика события.
addEventListener("finish", (event) => { })
onfinish = (event) => { }
Тип события
Объект AnimationPlaybackEvent. Наследуется от Event.
Свойства события
Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса Event.
-
AnimationPlaybackEvent.currentTimeТолько для чтения -
Текущее время анимации, которая сгенерировала событие.
-
AnimationPlaybackEvent.timelineTimeТолько для чтения -
Значение времени шкалы анимации, которая сгенерировала событие.
Примеры
Animation.onfinish используется несколько раз в игре «Растущая/Уменьшающаяся Алиса» в API анимаций Web Игра «Растущая/Уменьшающаяся Алиса». Вот один пример, где мы возвращаем события указателей элементу после того, как анимация непрозрачности сдвинула его:
// Add an animation to the game's ending credits
const endingUI = document.getElementById("ending-ui");
const bringUI = endingUI.animate(keysFade, timingFade);
// Pause said animation's credits
bringUI.pause();
// This function removes pointer events on the credits.
hide(endingUI);
// When the credits are later faded in,
// we re-add the pointer events when they're done
bringUI.onfinish = (event) => {
endingUI.style.pointerEvents = "auto";
};
Спецификации
Совместимость с браузерами
| Рабочие столы | Мобильные | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
finish_event |
75 | 79 | 48 | 62 | 13.1 | 75 | 48 | 54 | 13.4 | 11.0 | 75 |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/Animation/finish_event