The transitionstart event is fired when a CSS transition has actually started, i.e., after any transition-delay has ended.
The transitioncancel event is fired when a CSS transition is canceled.
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.
The transitionrun event is fired when a CSS transition is first created, i.e. before any transition-delay has begun.