Window: transitionend event

The transitionend event is fired when a CSS transition has completed. In the case where a transition is removed before completion, such as if the transition-property is removed or display is set to none, then the event will not be generated.

Bubbles Yes
Cancelable Yes
Interface TransitionEvent
Event handler property ontransitionend

The transitionend event is fired in both directions - as it finishes transitioning to the transitioned state, and when it fully reverts to the default or non-transitioned state. If there is no transition delay or duration, if both are 0s or neither is declared, there is no transition, and none of the transition events are fired. If the transitioncancel event is fired, the transitionend event will not fire.

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

Examples

This code adds a listener to the transitionend event:

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

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

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

See a live example of this event.

Specifications

Specification Status Comment
CSS Transitions
The definition of 'transitionend' in that specification.
Working Draft Initial definition.

Browser compatibility

DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
transitionend eventChrome No support NoEdge No support NoFirefox Full support 51IE ? Opera ? Safari Full support YesWebView Android No support NoChrome Android No support NoFirefox Android Full support 51Opera Android ? Safari iOS Full support YesSamsung Internet Android No support No

Legend

Full support
Full support
No support
No support
Compatibility unknown
Compatibility unknown

See also