Spec-Zone.ru › Web APIs

KeyframeEffect

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

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

* Некоторые части этой функции могут иметь различный уровень поддержки.

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

Интерфейс KeyframeEffect API веб-анимаций позволяет создавать наборы анимируемых свойств и значений, называемых ключевыми кадрами. Затем их можно воспроизвести, используя конструктор Animation().

AnimationEffect KeyframeEffect

Конструктор

KeyframeEffect()

Возвращает новый экземпляр объекта KeyframeEffect, а также позволяет клонировать существующий экземпляр объекта эффекта ключевых кадров.

Свойства экземпляра

KeyframeEffect.target

Получает и устанавливает элемент или исходный элемент псевдоэлемента, анимируемый этим объектом. Может быть null для анимаций, которые не нацелены на конкретный элемент или псевдоэлемент.

KeyframeEffect.pseudoElement

Получает и устанавливает селектор псевдоэлемента, анимируемого этим объектом. Может быть null для анимаций, которые не нацелены на псевдоэлемент.

KeyframeEffect.iterationComposite

Получает и устанавливает операцию комбинирования итераций для определения изменений значений свойств этого эффекта ключевых кадров.

KeyframeEffect.composite

Получает и устанавливает свойство операции комбинирования для определения изменений значений свойств между этим и другими эффектами ключевых кадров.

Методы экземпляра

Этот интерфейс наследует некоторые методы от своего родителя, AnimationEffect.

AnimationEffect.getComputedTiming()

Возвращает рассчитанные текущие значения тайминга для этого эффекта ключевых кадров.

KeyframeEffect.getKeyframes()

Возвращает рассчитанные ключевые кадры, составляющие этот эффект, вместе с их рассчитанными смещениями ключевых кадров.

AnimationEffect.getTiming()

Возвращает объект, связанный с анимацией, содержащий все значения тайминга анимации.

KeyframeEffect.setKeyframes()

Заменяет набор ключевых кадров, составляющих этот эффект.

AnimationEffect.updateTiming()

Обновляет указанные свойства тайминга.

Примеры

В следующем примере конструктор KeyframeEffect используется для создания набора ключевых кадров, которые определяют, как эмодзи рофл должен кататься по полу:

const emoji = document.querySelector("div"); // element to animate

const rollingKeyframes = new KeyframeEffect(
  emoji,
  [
    { transform: "translateX(0) rotate(0)" }, // keyframe
    { transform: "translateX(200px) rotate(1.3turn)" }, // keyframe
  ],
  {
    // keyframe options
    duration: 2000,
    direction: "alternate",
    easing: "ease-in-out",
    iterations: "Infinity",
  },
);

const rollingAnimation = new Animation(rollingKeyframes, document.timeline);

// play rofl animation
rollingAnimation.play();
<div>🤣</div>

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

Спецификация
Web Animations
# the-keyframeeffect-interface

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

Рабочие столы Мобильные устройства
Chrome Edge Firefox Opera Safari Chrome Android Firefox для Android Opera Android Safari в iOS Samsung Internet WebView Android
KeyframeEffect 75 79 63 62 13.1 75 63 54 13.4 11.0 75
KeyframeEffect 75 79 63 62 13.1 75 63 54 13.4 11.0 75
composite 84 84 80 71 16 84 80 60 16 14.0 84
getKeyframes 84 84 63 71 13.1 84 63 60 13.4 14.0 84
iterationComposite Нет Нет 80 Нет 16.4 Нет 80 Нет 16.4 Нет Нет
pseudoElement 84 84 75 71 14 84 79 60 14 14.0 84
setKeyframes 84 84 63 71 13.1 84 63 60 13.4 14.0 84
target 75 79 63 62 13.1 75 63 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/KeyframeEffect

Spec-Zone.ru

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