KeyframeEffect: метод getKeyframes()
Базовая поддержка Широко доступен
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и версиях браузеров. Она доступна в браузерах с марта 2020 года.
Метод getKeyframes() объекта KeyframeEffect возвращает массив вычисленных ключевых кадров, составляющих это анимацию, вместе с их вычисленными смещениями.
Синтаксис
getKeyframes()
Параметры
Нет.
Возвращаемое значение
Возвращает последовательность объектов со следующим форматом:
- Свойства и значения
-
Столько пар свойств и значений, сколько содержится в каждом ключевом кадре анимации.
offset-
Смещение ключевого кадра, заданное числом от
0.0до1.0включительно илиnull. Это эквивалентно указанию начальных и конечных состояний в процентах в CSS-стилях с использованием@keyframes. Будет равноnull, если ключевой кадр размещается автоматически. computedOffset-
Вычисленное смещение для этого ключевого кадра, рассчитанное при создании списка вычисленных ключевых кадров. В отличие от
offsetвыше,computedOffsetникогда неnull. easing-
Функция плавного изменения, используемая с этого ключевого кадра до следующего в ряду.
composite-
KeyframeEffect.compositeоперация, используемая для объединения значений, указанных в этом ключевом кадре, со значениями по умолчанию. Будет отсутствовать, если используется операция composite, заданная для эффекта.
Примеры
В следующем примере можно просмотреть анимацию вращения, чтобы увидеть ее ключевые кадры, используя метод getKeyframes():
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);
rollingAnimation.play();
// Array [ {…}, {…} ]
console.log(rollingAnimation.effect.getKeyframes());
<div>🤣</div>
Спецификации
| Спецификация |
|---|
| Web Animations # dom-keyframeeffect-getkeyframes |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | |
getKeyframes |
84 | 84 | 63 | 71 | 13.1 | 84 | 63 | 60 | 13.4 | 14.0 | 84 |
См. также
- API веб-анимации
- Метод объекта
KeyframeEffect.
© 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/getKeyframes