Document: transitionend イベント

transitionend イベントは、 CSS トランジションが完了したときに発生します。トランジションが完了前に削除された場合、例えば transition-property が削除されたり、 displaynone に設定されたりした場合、イベントは生成されません。

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

transitionend イベントは二つの方向で発生します。 - トランジション終了の状態まで遷移し終わったときと、既定またはトランジションがない状態まで完全に戻ったときです。トランジションに待ち時間や実行時間がない場合、両方が0秒またはどちらも宣言されていなかった場合、トランジションは発生せず、トランジションイベントは発生しません。 transitioncancel イベントが発生すると、 transitionend イベントは発生しません。

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

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

document.addEventListener('transitionend', () => {
  console.log('Transition ended');
});

同様に、 ontransitionend プロパティを addEventListener() の代わりに使用した例です。

document.ontransitionend = () => {
  console.log('Transition ended');
};

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

仕様書

仕様書 状態 備考
CSS Transitions
transitionend の定義
草案 初回定義

ブラウザーの互換性

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
transitionend eventChrome 未対応 なしEdge 未対応 なしFirefox 完全対応 51IE ? Opera ? Safari 完全対応 ありWebView Android 未対応 なしChrome Android 未対応 なしFirefox Android 完全対応 51Opera Android ? Safari iOS 完全対応 ありSamsung Internet Android 未対応 なし

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明

関連情報