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

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

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

范例

This code adds a listener to the transitionstart event:

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

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

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

实时范例

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 transition = document.querySelector('.transition');
const message = document.querySelector('.message');
transition.addEventListener('transitionrun', function() {
  message.textContent = 'transitionrun fired';
});
transition.addEventListener('transitionstart', function() {
  message.textContent = 'transitionstart fired';
});
transition.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).

规范

规范 状态 注释
CSS Transitions
The definition of 'transitionstart' 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
transitionstart 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

图例

完整支持

完整支持

兼容性未知 ?

兼容性未知

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

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

另请参阅

元数据

  • 最后修改: