• anime动画库


    安装

    npm install animejs --save

    引入

    我是在vue项目

    import anime from 'animejs/lib/anime.es.js';

    更多下载和引用可以查看官网

    GitHub - juliangarnier/anime: JavaScript animation engine

    基础示例

    需要动画的元素

    1. <section>
    2. <div class="box">1div>
    3. <div class="box">2div>
    4. <div class="box">3div>
    5. <div class="box">4div>
    6. section>

    引入anime实例,可以直接使用

    1. let boxs = document.querySelectorAll(".box");
    2. anime({
    3. targets: boxs,
    4. translateX: '250px',
    5. })

    targets 为选中的 dom,单个或者数组,也可是直接写 css选择器

    两行代码的效果就是,boxs 选中的dom ,会向 x 轴移动 250px

    类似的值(宽高、缩放、位移等等)都可以选择带不带单位,百分比,也支持数组,混用,比如我们需要,元素在开始的时候在 y轴 200px 的位置,动画结束后,回到原位可以这样写:

    translateX: ['200px',0],

    可以编辑数字,innerHTML,设置步长,小数点位数

    1. innerHTML: [0, 1000],
    2. step: [10],
    3. round: 1, // 为1的时候显示整数

    也支持动画属性,按顺序播放,使用 duration 指定每一个动画属性的持续时间

    1. translateX: {
    2. value: 250,
    3. duration: 800
    4. },
    5. rotate: {
    6. value: 360,
    7. duration: 1800,
    8. easing: 'easeInOutSine'
    9. },

    上面代码的效果:先x轴位移,持续800毫秒,之后再进行旋转,1800毫秒

    动画播放模式

    direction:'xxxx'
    属性描述
    'normal'动画进度从 0% 变为 100%
    'reverse'动画进度从 100% 变为 0%
    'alternate'动画进度从 0% 变为 100%,然后返回到 0%
    loop: 3,
    属性描述
    Number迭代次数
    true无限期循环

     anime.stagger

    如果你需要多个元素,各自按不同的处理进行动画,你就需要  anime.stagger

    1. delay: anime.stagger(100)
    2. delay: anime.stagger(100, {start: 500})
    3. rotate: anime.stagger([-360, 360])

    三个例子:

    1. 延迟按照,第一个 盒子 100*0,第二个盒子 100*1

    2.附带开始延迟:第一个 盒子 500+(100*0),第二个盒子 500+(100*1)

    3.数组 平均分配给元素, 比如两个元素,第一个就是 -360 第二个就是 360

    anime.stagger 第二个参数对象 也可选 from

    delay: anime.stagger(400, { from: "center" })

    center 比如有4个元素被选中, 动画从 中间的两个元素先开始

    例:

    1. class="box">1
    2. <div class="box">2div>
    3. <div class="box">3div>
    4. <div class="box">4div>
    5. let boxs = document.querySelectorAll(".box");
    6. anime({
    7. delay: anime.stagger(400, { from: "center" })
    8. });

     盒子 2 3 先进行动画,随后是 1和4

    还有 easing  direction  grid 等等,可有类似波纹特效

    更多动画选项可以查看官方文档:

    Documentation | anime.js (animejs.com)

  • 相关阅读:
    React-hooks【三】useCallback与useMemo详解,搭配Memo使用
    2022起重机司机(限桥式起重机)题库及答案
    Java获取实时摄像头进行拍照(附源码)
    css:居中的几种布局方式
    Frp设置开机自启,sh脚本自动化设置开机自启
    ETH智能合约开发手把手入门教程|猿创征文
    权限提升-Linux脏牛内核漏洞&SUID&信息收集
    Azure 机器学习 - 使用 Visual Studio Code训练图像分类 TensorFlow 模型
    ffmpeg filter amix混音实现
    如何设计一个mysql的统计分析表?
  • 原文地址:https://blog.csdn.net/paidaboluo/article/details/126572180