[Edge]。→、、
Web アニメーション Animation を中断させます。startTime と currentTime は null となります。
mdn: …によって引き起こされたすべての KeyframeEffect を初期化し、再生を中止します。
mdn: メモ: アニメ―ションをキャンセルした時、startTime と currentTime は、null に設定されます。
| Animation | Animation | 
|---|
なし(undefined)。
このメソッドは、直接は例外を発生しません。しかし、キャンセル時にアニメーションの playState が "idle" 以外の場合、current finished promise は DOMException の AbortError で拒否されます。
HTML:
<DIV id=IdTest style="width:1em">■</DIV> <BUTTON id=IdPlay>再生</BUTTON> <BUTTON id=IdStop>終了</BUTTON> <BUTTON id=IdCancel>中止</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 JobStop(){ //「終了」ボタンが押された時の処理:
  Ani.finish();       //アニメーション終了。
}
function JobCancel(){ //「中止」ボタンが押された時の処理:
  Ani.cancel();       //アニメーション中止。
}
IdPlay.onclick=JobPlay;   //ボタンにイベント割り当て。
IdStop.onclick=JobStop;   //ボタンにイベント割り当て。
IdCancel.onclick=JobCancel; //ボタンにイベント割り当て。
function Job(){  //タイマー監視の処理:
  IdLog.innerHTML="Ani.playState:"+Ani.playState;  //表示。
}
setInterval(Job, 300);  //0.3秒毎のタイマー監視割り当て。
 アニメーションをキャンセルさせた。playState が「idle」になった。
そして得られた Ani:
//Ani=[object]:[object Animation]詳細
//effect=[object]:[object KeyframeEffect] //startTime=[object]:null //currentTime=[object]:null //playbackRate=[number]:1 //playState=[string]:idle //pending=[boolean]:false //id=[string]: //…
Ani.effect
=[object]:[object KeyframeEffect]
target=[object]:[object HTMLDivElement]
pseudoElement=[object]:null
composite=[string]:replace
getKeyframes=[function]:function getKeyframes() { [native code] }
…
 Ani.effect.getKeyframes()
=[object]:[object Object],[object Object] 0=[object]:[object Object] 1=[object]:[object Object]
Ani.effect.getKeyframes()[0]
=[object]:[object Object] offset=[object]:null easing=[string]:linear composite=[string]:auto transform=[string]:translateX(0px) computedOffset=[number]:0
Ani.effect.getKeyframes()[1]
=[object]:[object Object] offset=[object]:null easing=[string]:linear composite=[string]:auto transform=[string]:translateX(500px) computedOffset=[number]:1
KeyframeEffect は初期化されていないようですが。