Анимация: метод updatePlaybackRate()
Базовая Широко доступная
Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.
Метод updatePlaybackRate() интерфейса API веб-анимации's Animation устанавливает скорость анимации после первоначальной синхронизации её позиции воспроизведения.
В некоторых случаях анимация может выполняться на отдельном потоке или процессе и продолжать обновляться даже при длительных задержках JavaScript на главном потоке. В таком случае, непосредственная установка свойства playbackRate анимации может привести к скачку позиции воспроизведения анимации, так как её позиция воспроизведения на главном потоке может отличаться от текущей позиции воспроизведения.
updatePlaybackRate() — это асинхронный метод, который устанавливает скорость анимации после синхронизации с её текущей позицией воспроизведения, гарантируя, что последующее изменение скорости не вызовет резкого скачка. После вызова updatePlaybackRate() свойство playbackRate анимации не обновляется сразу. Оно будет обновлено после разрешения промиса ready анимации.
Синтаксис
updatePlaybackRate(playbackRate)
Параметры
playbackRate-
Новая скорость. Это может быть положительное число (для ускорения или замедления анимации), отрицательное число (для воспроизведения в обратном порядке) или ноль (для паузы анимации).
Возвращаемое значение
None (undefined).
Примеры
Компонент выбора скорости будет выигрывать от плавного обновления updatePlaybackRate(), как показано ниже:
speedSelector.addEventListener("input", (evt) => {
cartoon.updatePlaybackRate(parseFloat(evt.target.value));
cartoon.ready.then(() => {
console.log(`Playback rate set to ${cartoon.playbackRate}`);
});
});
Спецификации
| Спецификация |
|---|
| Веб-анимация # dom-animation-updateplaybackrate |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
updatePlaybackRate |
76 | 79 | 60 | 63 | 13.1 | 76 | 60 | 54 | 13.4 | 12.0 | 76 |
См. также
- API веб-анимации
-
Animation.playbackRate— чтение текущей скорости воспроизведения или её установка синхронным способом. -
Animation.reverse()— инвертировать скорость воспроизведения и при необходимости перезапустить воспроизведение. -
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/updatePlaybackRate