1. 開発者向けのウェブ技術
  2. Web API
  3. KeyframeEffect

このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

KeyframeEffect

Baseline 広く利用可能 *

この機能は広く実装されており、多くのバージョンの端末やブラウザーで動作します。2020年3月以降、すべてのブラウザーで利用可能です。

* この機能の一部は、対応レベルが異なる場合があります。

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 コンストラクターを使用して、床を転がるロフル絵文字の動きを定義する一連のキーフレームを作成し、その設定を行います。

js
const emoji = document.querySelector("div"); // アニメーションする要素
const rollingKeyframes = new KeyframeEffect(
 emoji,
 [
 { transform: "translateX(0) rotate(0)" }, // キーフレーム
 { transform: "translateX(200px) rotate(1.3turn)" }, // キーフレーム
 ],
 {
 // キーフレームオプション
 duration: 2000,
 direction: "alternate",
 easing: "ease-in-out",
 iterations: "Infinity",
 },
);
const rollingAnimation = new Animation(rollingKeyframes, document.timeline);
// ロフルアニメーションを再生
rollingAnimation.play();
html
<div>🤣</div>
body {
 box-shadow: 0 5px 5px pink;
}
div {
 width: fit-content;
 margin-left: calc(50% - 132px);
 font-size: 64px;
 user-select: none;
 margin-top: 1rem;
}

仕様書

仕様書
Web Animations
# the-keyframeeffect-interface

ブラウザーの互換性

関連情報

MDN の改良に協力

協力方法を知る

このページは MDN の貢献者によって に最終更新されました。

AltStyle によって変換されたページ (->オリジナル) /