Web Animations

什么是Web Animations?

Web Animations defines a model for supporting animation and synchronization on the Web platform. It is intended that other specifications will build on this model and expose its features through declarative means. W3C

以上W3C对 Web Animations的定义,目前处于草稿阶段,Web Animations定义了一种同步或者异步在Web平台上,支持动画的模型。目前已有Chrome和Firefox开始实现Web Animations.以下是各浏览器对WAAP(Web Animations API)的支持情况。
这里写图片描述
随着css的发展和一些技js新特性的加入,动画在过去五年里发展的比较好。但是每一种解决方案都有他的优点和缺点:

  • CSS具有硬件加速,表现更为平滑,而且浏览器内置支持,但是需要JS辅助动态变化。
  • requestAnimationFrame有很好的支持并且可以让浏览器进行优化,但是当有很多其他JS程序运行时,动画可能会被阻塞,并且还需要更多的数学函数进行计时。
  • setInterval不准确而且很容易卡顿。
  • jQuery.animate(),性能问题。
  • 第三方库,其他JS库Velocity.jsGreensock,需要增加第三方的库。

而Web Animations的目标就是带来和CCS一样的强劲表现,并且增加灵活性,让浏览器更好的工作。

Web Animations用法事例

Web Animations希望为CSS TransitionsCSS Animations ,和SVG 提供一些特性。因此,Web Animations是这三个规范的总称。

监测正在运行的动画

Web程序经常需要等到动画结束后去更新状态,此规范的编程接口运用程序等到所有的运行动画结束,无论是CSS Transitions, CSS Animations, SVG animations中的哪一个定义的,或者是此编程接口直接创建的。

// Wait until all animations have finished before removing the element
Promise.all(
  elem.getAnimations().map(animation => animation.finished)
).then(() => elem.remove());

或者选择正在运行的动画:

var isAnimating = elem.getAnimations().s
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值