Spec-Zone.ru › Web APIs

Анимация: событие 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.

Событие AnimationPlaybackEvent

Свойства события

Помимо перечисленных ниже свойств, доступны свойства из родительского интерфейса 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";
};

Спецификации

Спецификация
Web Animations
# dom-animation-onfinish
Web Animations
# finish-event

Совместимость с браузерами

Рабочие столы Мобильные
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

См. также

  • Web Animations API
  • Animation
  • Animation.finish()

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API