[Edge]。→、、
Web アニメーション Animation の動作を最後(通常再生時は currentTime をそのアニメーションの最高値(duration)にし、逆再生時は 0)にさせます。
mdn: 現在の再生時間を、現在の再生方向に対応するアニメーションの最後に設定します。
mdn: つまり、アニメーションが順方向に再生されている場合、再生時間をアニメーション シーケンスの長さに設定し、アニメーションが逆方向に再生されている場合(reverse() メソッドが呼び出されている場合)、再生時間を 0 に設定します。
| Animation | Animation | 
|---|
なし(undefined)。
HTML:
<DIV id=IdTest style="width:1em">■</DIV> <BUTTON id=IdPlay>再生</BUTTON> <BUTTON id=IdPause>一時停止</BUTTON> <BUTTON id=IdRev>反対</BUTTON> <BUTTON id=IdStop>終了</BUTTON><BR> <SPAN id=IdLog></SPAN>
JavaScript:
KE=new KeyframeEffect(  //アニメーション データの作成:
  IdTest, [  //ターゲット。
    {transform:'translateX(0)'}
    , {transform:'translateX(500px)'}  //X軸移動。
  ]
  , {duration:10000, fill:'forwards'}  //10秒掛けて、?。
);
Ani=new Animation(KE, document.timeline);  //アニメーション作成。
function JobPlay(){  //「再生」ボタンが押された時の処理:
  Ani.play();        //アニメーション再生。
}
function JobPause(){  //「一時停止」ボタンが押された時の処理:
  Ani.pause();       //アニメーション一時停止。
}
function JobStop(){  //「終了」ボタンが押された時の処理:
  Ani.finish();       //アニメーション終了。
}
function JobRev(){  //「反対」ボタンが押された時の処理:
  Ani.reverse();       //アニメーション終了。
}
IdPlay.onclick=JobPlay;   //ボタンにイベント割り当て。
IdPause.onclick=JobPause; //ボタンにイベント割り当て。
IdStop.onclick=JobStop;   //ボタンにイベント割り当て。
IdRev.onclick=JobRev;   //ボタンにイベント割り当て。
function Job(){  //タイマー監視の処理:
  IdLog.innerHTML="playState:"+Ani.playState+"<BR>"
	+"currentTime:"+Ani.currentTime;  //表示。
}
setInterval(Job, 300);  //0.3秒毎のタイマー監視割り当て。
 →animate()。commitStyles()。remove イベント。replaceState、reverse()、currentTime。