这是 实验性技术
检查 浏览器兼容性表格 要小心谨慎在生产中使用这之前。

transitionrun event is fired when a CSS transition is first created, i.e. before any transition-delay has begun.

冒泡 Yes
可取消 No
接口 TransitionEvent
事件处理程序特性 ontransitionrun

范例

This code adds a listener to the transitionrun event:

el.addEventListener('transitionrun', () => {
  console.log('Transition is running but hasn\'t necessarily started transitioning yet');
});
					

一样,但使用 ontransitionrun property instead of addEventListener() :

el.ontransitionrun = () => {
  console.log('Transition started running, and will start transitioning when the transition delay has expired');
};
					

实时范例

In the following example, we have a simple <div> element, styled with a transition that includes a delay:

<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);
}
					

To this, we'll add some JavaScript to indicate where the transitionstart and transitionrun events fire.

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';
});
					

The difference is that:

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

transitionrun will occur even if the transition is canceled before the delay expires. If there is no transition delay or if transition-delay is negative, both transitionrun and transitionstart are fired.

规范

规范 状态 注释
CSS Transitions
The definition of 'transitionrun' in that specification.
工作草案

浏览器兼容性

The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request. 更新 GitHub 上的兼容性数据
桌面 移动
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
transitionrun event Chrome 74 Edge ≤79 Firefox 53 IE ? Opera 62 Safari 13.1
13.1
12 Disabled
Disabled From version 12: this feature is behind the Web 动画 preference and the CSS Animations via Web Animations preference.
WebView Android 74 Chrome Android 74 Firefox Android 53 Opera Android 53 Safari iOS 13.4
13.4
12 Disabled
Disabled From version 12: this feature is behind the Web 动画 preference and the CSS Animations via Web Animations preference.
Samsung Internet Android 11.0

图例

完整支持

完整支持

兼容性未知 ?

兼容性未知

用户必须明确启用此特征。

用户必须明确启用此特征。

另请参阅

元数据

  • 最后修改: