Анимация: свойство playState
Базовая Широко доступная
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна во всех браузерах с марта 2020 года.
Только для чтения Animation.playState свойство API веб-анимаций возвращает перечисление, описывающее состояние воспроизведения анимации.
Значение
idle-
Текущее время анимации не определено, и нет ожидающих задач.
running-
Анимация выполняется.
paused-
Анимация приостановлена, и свойство
Animation.currentTimeне обновляется. finished-
Анимация достигла одной из границ, и свойство
Animation.currentTimeне обновляется.
Ранее API веб-анимаций определял значение pending для обозначения того, что некоторые асинхронные операции, такие как инициирование воспроизведения, ещё не завершились. Сейчас это указывается отдельным свойством Animation.pending.
Примеры
В примере Игра «Растущая/Уменьшающаяся Алиса» игроки могут получить финал с Алисой, плачущей в луже слёз. В игре из соображений производительности слёзы должны анимироваться только когда они видны. Поэтому они должны быть приостановлены, как только анимированы, следующим образом:
// Setting up the tear animations
tears.forEach((el) => {
el.animate(tearsFalling, {
delay: getRandomMsRange(-1000, 1000), // randomized for each tear
duration: getRandomMsRange(2000, 6000), // randomized for each tear
iterations: Infinity,
easing: "cubic-bezier(0.6, 0.04, 0.98, 0.335)",
});
el.pause();
});
// Play the tears falling when the ending needs to be shown.
tears.forEach((el) => {
el.play();
});
// Reset the crying tears animations and pause them.
tears.forEach((el) => {
el.pause();
el.currentTime = 0;
});
Спецификации
| Спецификация |
|---|
| Web Animations # dom-animation-playstate |
Совместимость браузеров
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
playState |
75До Chrome 50/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с Chrome 50/Opera 37, отображается paused. |
79 | 48До Firefox 59, это свойство возвращалоpending для анимаций с не завершёнными асинхронными операциями, но начиная с Firefox 59 это указывается отдельным свойством Animation.pending. Это отражает недавние изменения в спецификации. |
62До Chrome 50/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с Chrome 50/Opera 37, отображается paused. |
13.1 | 75До Chrome Android 50/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с Chrome Android 50/Opera 37, отображается paused. |
48До Firefox для Android 59, это свойство возвращалоpending для анимаций с не завершёнными асинхронными операциями, но начиная с Firefox для Android 59 это указывается отдельным свойством Animation.pending. Это отражает недавние изменения в спецификации. |
54До Chrome 50/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с Chrome 50/Opera 37, отображается paused. |
13.4 | 11.0До Samsung Internet 5.0/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с Samsung Internet 5.0/Opera 37, отображается paused. |
75До WebView Android 50/Opera 37, это свойство возвращалоidle для анимации, которая ещё не началась. Начиная с WebView Android 50/Opera 37, отображается paused. |
См. также
- API веб-анимаций
-
Animationдля других методов и свойств, которые можно использовать для управления анимацией веб-страницы.
© 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/playState