[Edge]。→、、
新しい KeyframeEffect オブジェクトのインスタンスを返します。
また、既存のキーフレーム効果オブジェクト インスタンスを複製することもできます。
新しいキーフレームの生成:
target | アニメーション化する DOM 要素オブジェクト、または null。 |
---|---|
keyframes | keyframes オブジェクト、または null。 |
options | 任意。アニメーションの長さ(ミリ秒単位)を表す整数、またはオブジェクト |
プロパティ | 説明と値 | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
delay
| 任意。アニメーションの開始を遅らせるミリ秒を表す数値。初期値は 0 です。 | ||||||||||||
direction
| 任意。アニメーションが実行され方を表す文字列。
| ||||||||||||
duration
| 任意。アニメーションの各反復が完了するまでに掛かるミリ秒を表す数値。初期値は 0。
これは技術的にはオプションですが、この値が 0 の場合、アニメーションは実行されないことに注意してください。 | ||||||||||||
easing
| 任意。時間の経過に伴うアニメーションの変化率を表す文字列。
以下は定義済みの値: →CSS:animation-timing-function
| ||||||||||||
endDelay
| 任意。アニメーションの終了後に遅延するミリ秒を表す数値。初期値は 0。
これは主に、別のアニメーションの終了時間に基づいてアニメーションをシーケンスする場合に使用します。 | ||||||||||||
fill
| 任意。アニメーションの効果の要素への反映の仕方を文字列で指定します。→CSS:animation-fill-mode
| ||||||||||||
iterationStart
| 任意。反復のどの時点でアニメーションを開始するかを表す(小数点可能)数値。初期値は 0.0。
例えば 0.3 では、1 つの反復の時間軸の 0.3 から開始され、最後(1.0)まで行き、また最初(0.0)に移り 0.3 で終わります。つまり、0.3~1.0→0.0~0.3。 | ||||||||||||
iterations
| 任意。アニメーションを繰り返す回数を表す数値。初期値 1。Infinity :要素が存在する限り繰り返す。
| ||||||||||||
composite
| 任意。このアニメーションと他のアニメーションの間で値を組み合わせる方法を決定します。独自の合成操作を指定しない個別のアニメーションとで。初期値は replace。
| ||||||||||||
iterationComposite
| 任意。このアニメーションで反復から反復へと値がどのように構築されるかを決定します。「accumulate」または「replace」に設定できます(composite を参照)。初期値は replace。 |
キーフレームの複製:
sourceKeyFrames | 複製する KeyframeEffect オブジェクト。 |
---|
HTML:
<DIV id=IdTest style="width:1em">■</DIV> <SPAN id=IdLog></SPAN>
JavaScript:
KE=new KeyframeEffect( //アニメーション効果: IdTest, //ターゲット要素。 [ //キーフレーム。 {transform:'translateX(0)', opacity:0} , {transform:'translateX(200px)', opacity:1} //X軸移動、透明度。 , {transform:'translateX(300px)', color:'red'} //X軸移動、色。 ], {duration:3000, fill:'forwards'} //掛ける時間、プロパティ反映の仕方。 ); Ani=new Animation(KE, document.timeline); //アニメーション生成。 Ani.play(); //再生。
→CSS:transform。CSS:translateX()、CSS:opacity、CSS:color。CSS:duration、CSS:fill。
HTML:
<DIV id=IdTest style="width:1em">あ</DIV> <SPAN id=IdLog></SPAN>
JavaScript:
KF=new KeyframeEffect( //キーフレーム効果: IdTest, //ターゲット [ {offset:0, transform:'rotateZ(0)translateX(0)'} ,{offset:1, transform:'rotateZ(360deg)translateX(100px)'} //回転+移動。 ], {duration:3000, fill:'forwards', composite:'accumulate'} //掛ける時間、プロパティ設定、プロパティ蓄積。 ); Ani=new Animation(KF);
更に以下のを実行して再生させる。
Ani.commitStyles(); Ani.play();