[Edge]。→、、
アニメーション Animation の再生速度倍率を数値で取得/設定します。
mdn: アニメーションには、アニメーションのタイムライン時間値の変化率からアニメーションの現在の時間までの倍率を提供する再生速度があります。
再生レートは最初は 1 です。
Animation | Animation |
---|
速度の倍率を表すプラス/マイナスの数値。負の値はアニメーションの反転を意味します。
たとえば、値を 2 にすると、再生速度が 2 倍になります。
注: アニメーションの playbackRate を 0 に設定すると、アニメーションが実質的に一時停止します(ただし、その再生状態は必ずしも一時停止になるわけではありません)。
HTML:
<DIV id=IdTest style="width:1em">■</DIV> <BUTTON id=IdSaisei>再生</BUTTON> <BUTTON id=IdItijiteisi>一時停止</BUTTON><BR> 速度:<INPUT id=IdRate type=range min=-2 max=2 step=0.25 value=1><BR> <SPAN id=IdLog></SPAN>
JavaScript:
KF=new KeyframeEffect( //キーフレームの指定: IdTest, [ {transform:'translateX(0)'}, {transform:'translateX(500px)'} //X軸移動。 ], {duration:3000, fill:'forwards'} //3000ms掛けて、?。 ); Ani=new Animation(KF, document.timeline); //アニメーション再生。 function JobPlay(){ //「再生」ボタンが押された時の処理: Ani.play(); //アニメーション再生。 } function JobPause(){ //「一時停止」ボタンが押された時の処理: Ani.pause(); //アニメーション一時停止。 } function JobRate(){ //「速度」が変更された時の処理: D=IdRate.value; //速度指示を得る(文字列)。 // Ani.playbackRate=D; //文字列で指定してもできた。 Ani.playbackRate=Number(D); //速度設定。 } IdSaisei.onclick=JobPlay; //ボタンにイベント割り当て。 IdItijiteisi.onclick=JobPause; //ボタンにイベント割り当て。 IdRate.oninput=JobRate; //速度指定変更のイベント割り当て。 function Job(){ //タイマー監視の処理: IdLog.innerHTML="playbackRate:"+Ani.playbackRate; //表示。 } setInterval(Job, 500); //0.5秒毎のタイマー監視割り当て。
設定は文字列でも OK でした。
少し変な動作をする事もあるようです。
→KeyframeEffect()、CSS:transform。CSS:translateX()。duration、fill。
→Number。