Spec-Zone.ru › Web APIs

Анимация: свойство playbackRate

Базовая Широко поддерживается

Эта функция хорошо отработана и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.

  • Узнать больше
  • Полная совместимость
  • Отправить отзыв

Свойство Animation.playbackRate API веб-анимаций возвращает или задаёт скорость воспроизведения анимации.

Анимации имеют скорость воспроизведения, которая обеспечивает коэффициент масштабирования от скорости изменения значений времени анимации timeline до текущего времени анимации. Скорость воспроизведения по умолчанию 1.

Значение

Принимает числовое значение, которое может быть 0, отрицательным или положительным. Отрицательные значения изменяют направление анимации. Значение представляет собой коэффициент масштабирования, поэтому, например, значение 2 удвоит скорость воспроизведения.

Примечание: Установка playbackRate анимации в 0 фактически останавливает анимацию (однако её playState не обязательно становится paused).

Примеры

В примере игры «Растущая/Уменьшающаяся Алиса» нажатие на бутылку заставляет анимацию роста Алисы (aliceChange) меняться на противоположное, заставляя её уменьшаться:

const shrinkAlice = () => {
  aliceChange.playbackRate = -1;
  aliceChange.play();
};

// On tap or click, Alice will shrink.
bottle.addEventListener("mousedown", shrinkAlice, false);
bottle.addEventListener("touchstart", shrinkAlice, false);

Напротив, нажатие на торт заставляет её «расти», снова воспроизводя aliceChange вперёд:

const growAlice = () => {
  aliceChange.playbackRate = 1;
  aliceChange.play();
};

// On tap or click, Alice will grow.
cake.addEventListener("mousedown", growAlice, false);
cake.addEventListener("touchstart", growAlice, false);

В другом примере, игра «Бег Красной Королевы», Алиса и Красная Королева постоянно замедляются:

setInterval(() => {
  // Make sure the playback rate never falls below .4

  if (redQueen_alice.playbackRate > 0.4) {
    redQueen_alice.playbackRate *= 0.9;
  }
}, 3000);

Но нажатие на них заставляет их ускориться, умножив их playbackRate:

const goFaster = () => {
  redQueen_alice.playbackRate *= 1.1;
};

document.addEventListener("click", goFaster);
document.addEventListener("touchstart", goFaster);

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

Спецификация
Web Animations
# dom-animation-playbackrate

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari на IOS Samsung Internet WebView Android
playbackRate 75 79 48 62 13.1 75 48 54 13.4 11.0 75

См. также

  • 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/playbackRate

Spec-Zone.ru

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