[Edge]。→、
CSS アニメーションが実際の動きを開始したときに発生します。
animation-delay がある場合、このイベントは待ち時間が経過したときに一度発生します。待ち時間が負の数の場合、イベントは elapsedTime が待ち時間の絶対値と等しくなったときに発生します(および、関連して、アニメーションはシーケンスの中でそのタイム インデックスに再生が始まります)。
| バブリング | あり |
|---|---|
| キャンセル可能 | ない |
| インターフェイス | AnimationEvent |
| イベント ハンドラー プロパティ | onanimationstart |
このイベントの本来の対象は、トランジションが適用された Element です。このイベントを Document インターフェイス上で待ち受けし、キャプチャやバブリングの局面で処理することができます。このイベントについて完全な詳細は、HTMLElement:animationstart イベントを参照してください。
HTML:
<DIV id=IdTest style="width:1em;">■</DIV> <BUTTON id=IdPlay>再生</BUTTON> <SPAN id=IdLog></SPAN>
JavaScript:
function Job(eve){ //animationstart イベントの処理:
D=eve; //
IdLog.innerHTML=IdLog.innerHTML+"●"; //表示。
}
document.onanimationstart=Job; //イベントの割り当て。
let KF=[
{ // from
opacity:0,
transform:'translateX(0px)'
},
{ // to
opacity:1,
transform:'translateX(100px)'
}
]; //キーフレーム:透明→不透明で横に100px移動。
A=IdTest.animate(KF, 2000); //2秒掛けてアニメーション再生する。
IdPlay.onclick=function(){ //[再生]ボタンにclickイベント割り当て。
A.play(); //アニメーションの再生。
}
¶アニメーション開始されるが、イベントが起こらない。
以下のCSSが組み込んであります:
HTML:
すぐにスクリプトを実行させてください。 <DIV id=IdTest style="width:1em; animation:3s linear 5s TestKF; ">■</DIV> <SPAN id=IdLog></SPAN>
JavaScript:
function Job(eve){ //animationstart イベントの処理:
D=eve; //=[object]:[object AnimationEvent]
詳細
//isTrusted=[boolean]:true
//animationName=[string]:TestKF
//elapsedTime=[number]:0
//pseudoElement=[string]:
//type=[string]:animationstart
//target=[object]:[object HTMLDivElement]
//currentTarget=[object]:null
//eventPhase=[number]:0
//bubbles=[boolean]:true
//cancelable=[boolean]:true
//defaultPrevented=[boolean]:false
//composed=[boolean]:false
//…
IdLog.innerHTML=IdLog.innerHTML+"●"; //表示。
}
document.onanimationstart=Job; //イベントの割り当て。