当前位置: 首页 > news >正文

web animation API 锋利的css动画控制器 (更新中)

什么是web animation api 以及为什么要使用web animation api?

web animation API 是web页面中控制DOM元素动画效果的javascript原生API。

  1. 它能够逐个关键帧控制动画效果,
  2. 具有Timeline 机制‌能通过javascript来实现动画的暂停,播放,回溯等功能
  3. 能够通过javascript的事件监听动画的播放与完成,对动画的控制具有极高的细粒度。
  4. 另外它共用css animation的渲染引擎,所以具有极高的性能。

如何使用

基本使用方式

最直观的使用方式是

const myAnimation = document.getElementById('id').animate(AnimationEffect,Options)

直接调用某个dom元素的animate函数,其中

  1. AnimationEffect 即keyframes object,等同于在css中使用 @keyframes
  2. Options里面是当前effect的配置项,常用配置项主要有:duration 动画播放时长, delay 时间延迟多久开始播, easing: 动画缓解曲线, iterations 播放次数
#alice {animation: aliceTumbling infinite 3s linear;
}@keyframes aliceTumbling {0% {color: #000;transform: rotate(0) translate3D(-50%, -50%, 0);}30% {color: #431236;}100% {color: #000;transform: rotate(360deg) translate3D(-50%, -50%, 0);}
}

以上css我们可以使用如下js进行覆盖

const myAnimation = document.getElementById("alice").animate([{ transform: "rotate(0) translate3D(-50%, -50%, 0)", color: "#000" },{ color: "#431236", offset: 0.3 },{ transform: "rotate(360deg) translate3D(-50%, -50%, 0)", color: "#000" },],{duration: 3000,iterations: Infinity,},
);myAnimation.pause()

如果是通过上述方式实现(即 element.animate(…)) 会立马执行animation若想随后执行需要调用pause: myAnimation.pause() 然后在需要调用的时机执行: myAnimation.play()

Group Animation

待续

最佳实践

待续

http://www.dtcms.com/a/183977.html

相关文章:

  • 基于神经网络的无源雷达测向系统仿真实现
  • 深入浅出之STL源码分析2_stl与标准库,编译器的关系
  • 保姆级教程|YOLO11改进】【卷积篇】【4】使用RFAConv感受野注意力卷积,重塑空间特征提取,助力高效提点
  • 《AI大模型应知应会100篇》第58篇:Semantic Kernel:微软的大模型应用框架
  • 【Bootstrap V4系列】学习入门教程之 组件-媒体对象(Media object)
  • Java 原生异步编程与Spring 异步编程 详解
  • 生产级 Flink CDC 应用开发与部署:MySQL 到 Kafka 同步示例
  • C++编程实战--实用代码篇
  • Vue 跨域解决方案及其原理剖析
  • opencascade.js stp vite 调试笔记
  • mac环境配置(homebrew版)
  • JAVA笔记6——异常
  • tokenizer.encode_plus,BERT类模型 和 Sentence-BERT 他们之间的区别与联系
  • spark:map 和 flatMap 的区别(Scala)
  • RDD 两类操作详解(Scala):转换与行动
  • 【PDF】使用Adobe Acrobat dc添加水印和加密
  • 深度解析:可视化如何重塑销售策略制定与执行
  • c++实现分数操作
  • 基于Dockers的Bitwarden的私有本地部署
  • 深度剖析多模态大模型中的视频编码器算法
  • 《大模型微调实战:Llama 3.0全参数优化指南》
  • c++面向对象:接口设计
  • MYSQL数据库集群高可用和数据监控平台
  • JAVA EE_网络原理_网络层
  • 机器视觉开发教程——C#如何封装海康工业相机SDK调用OpenCV/YOLO/VisionPro/Halcon算法
  • 《设计模式之禅》笔记
  • Win全兼容!五五 Excel Word 转 PDF 工具解决多场景转换难题
  • 【github分享】开发者学习路线图
  • 前端代理问题
  • 技术书籍推荐(002)