transitionrun
イベントは、 CSS トランジションが最初に生成されたとき、すなわち、 transition-delay
が始まる前に発生します。
バブリング | あり |
---|---|
キャンセル可能 | いいえ |
インターフェイス | TransitionEvent |
イベントハンドラープロパティ | ontransitionrun |
例
このコードは transitionrun
イベントのリスナーを追加します。
el.addEventListener('transitionrun', () => {
console.log('Transition is running but hasn\'t necessarily started transitioning yet');
});
同じですが、 ontransitionrun
プロパティを addEventListener()
の代わりに使用した例です。
el.ontransitionrun = () => {
console.log('Transition started running, and will start transitioning when the transition delay has expired');
};
ライブ例
以下の例では、単純な <div>
要素を用い、遅延を含むトランジションでスタイル付けしています。
<div class="transition">Hover over me</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: 1s;
}
.transition:hover {
transform: rotate(90deg);
background: rgba(255,0,0,0);
}
このために、 transitionstart
および transitionrun
イベントが発生する場所を示す JavaScript を追加します。
const el = document.querySelector('.transition');
const message = document.querySelector('.message');
el.addEventListener('transitionrun', function() {
message.textContent = 'transitionrun fired';
});
el.addEventListener('transitionstart', function() {
message.textContent = 'transitionstart fired';
});
el.addEventListener('transitionend', function() {
message.textContent = 'transitionend fired';
});
相違点は以下のとおりです。
transitionrun
は、トランジションが生成されるときに発生します (つまり、遅延時間の始め)。transitionstart
は実際にアニメーションが始まるときに発生します。 (つまり、遅延時間の終わり)。
transitionrun
は、遅延時間が終わる前にトランジションが中止されたときにも発生します。トランジションの遅延時間がなかったり、 transition-delay が負の数であった場合には、 transitionrun
と transitionstart
の両方が発生します。
仕様書
仕様書 | 状態 | 備考 |
---|---|---|
CSS Transitions transitionrun の定義 |
草案 | 初回定義 |
ブラウザーの互換性
BCD tables only load in the browser
関連情報
GlobalEventHandlers.ontransitionsrun
イベントハンドラーTransitionEvent
インターフェイス- CSS プロパティ:
transition
,transition-delay
,transition-duration
,transition-property
,transition-timing-function
- 関連イベント:
transitionend
,transitionstart
,transitioncancel
Document
に対するこのイベント:transitionrun
Window
に対するこのイベント:transitionrun