Document: transitionstart イベント

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

transitionstart イベントは、 CSS トランジションが実際に始まったとき、すなわち transition-delay が終了した後に発生します。

transitionstarttransitionrun の違いは、 transitionrun がトランジションが生成されたとき (すなわち、待ち時間の開始) に発生するのに対し、 transitionstart は実際にアニメーションが始まったとき (すなわち、待ち時間の終了) に発生することです。

バブリング あり
キャンセル 不可
インターフェイス TransitionEvent
イベントハンドラープロパティ GlobalEventHandlers.ontransitionstart

このイベントの本来の対象は、トランジションが適用された Element です。このイベントを Document インターフェイス上で待ち受けし、キャプチャやバブリングの局面で処理することができます。このイベントについて完全な詳細は、 HTMLElement: transitionstart イベントを参照してください。

次のコードは transitionstart イベントにリスナーを追加します。

document.addEventListener('transitionrun', () => {
  console.log('Transition is running but hasn't necessarily started transitioning yet');
});

同じですが、 ontransitionstartaddEventListener() の代わりに使用すると次のようになります。

document.ontransitionrun = () => {
  console.log('Transition started running');
};

このイベントのライブデモを参照してください。

仕様書

Specification
CSS Transitions
# transitionstart

ブラウザーの互換性

BCD tables only load in the browser

関連情報