Document: transitionstart event

これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

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

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

以下の例では、単純な <div> 要素で、遅延時間を含めたトランジションでスタイル付けしたものを用意しています。

<div class="transition"></div>
<div class="message"></div>
.transition {
  width: 100px;
  height: 100px;
  background: rgba(255,0,0,1);
  transition-property: transform background;
  transition-duration: 2s;
  transition-delay: 2s;
}

.transition:hover {
  transform: rotate(90deg);
  background: rgba(255,0,0,0);
}

このために、 transitionstart および transitionrun イベントが実行されたことを示す JavaScript を追加します。

const message = document.querySelector('.message');

document.addEventListener('transitionrun', function() {
  message.textContent = 'transitionrun fired';
});

document.addEventListener('transitionstart', function() {
  message.textContent = 'transitionstart fired';
});

document.addEventListener('transitionend', function() {
  message.textContent = '';
});

違いは以下のとおりです。

  • transitionrun は、トランジションが生成されたとき (すなわち、遅延時間の開始時) に発生します。
  • transitionstart は、実際にアニメーションが始まったとき (すなわち、遅延時間の終了時) に発生します。

仕様書

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

ブラウザーの対応

No compatibility data found. Please contribute data for "api.Document.transitionstart_event" (depth: 1) to the MDN compatibility data repository.

関連情報

ドキュメントのタグと貢献者

このページの貢献者: mdnwebdocs-bot, mfuji09
最終更新者: mdnwebdocs-bot,