Document: transitionstart event

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The transitionstart event is fired when a CSS transition has actually started, i.e., after any transition-delay has ended.

The difference is transitionstart and transitionrun is that transitionrun fires when the transition is created (i.e. at the start of any delay) and transitionstart fires when the actual animation has begun (i.e. at the end of any delay).

Bubbles Yes
Cancelable No
Interface TransitionEvent
Event handler property GlobalEventHandlers.ontransitionstart

The original target for this event is the Element that had the transition applied. You can listen for this event on the Document interface to handle it in the capture or bubbling phases. For full details on this event please see the page on HTMLElement: transitionstart.


This code adds a listener to the transitionstart event:

document.addEventListener('transitionstart', () => {
  console.log('Started transitioning');

The same, but using the ontransitionstart property instead of addEventListener():

document.ontransitionrun = () => {
  console.log('Started transitioning');

See a live example of this event.


CSS Transitions Level 2
# transitionstart

Browser compatibility

BCD tables only load in the browser

See also