Element:getAnimations() 方法

Baseline 已广泛支持

此特性已经十分成熟,可在许多设备和浏览器版本上使用。自 2020 年 7 月以来,它已在各大浏览器中可用。

Element 接口(在 Animatable 混入(mixin)中指定)的 getAnimations() 方法返回一个包含所有影响此元素或计划将来影响此元素的 Animation 对象的数组。它还可以选择性地返回后代元素的 Animation 对象。

注意: 此数组包括 CSS 动画CSS 过渡Web Animations API

语法

js
getAnimations()
getAnimations(options)

参数

options 可选

一个包含以下属性的选项对象

subtree

一个布尔值,如果为 true,则还会返回针对 Element 的后代元素的动画。这包括针对附加到 Element 或其后代元素的任何 CSS 伪元素 的动画。默认为 false

返回值

一个 Array,其中包含 Animation 对象,每个对象代表当前正在针对调用此方法的 Element,或者如果指定了 { subtree: true },则代表其后代元素之一的动画。

示例

以下代码片段将在 elem 及其后代的所有动画完成后等待,然后再将该元素从文档中移除。

js
Promise.all(
  elem.getAnimations({ subtree: true }).map((animation) => animation.finished),
).then(() => elem.remove());

规范

规范
Web 动画
# dom-animatable-getanimations

浏览器兼容性

另见