• 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)

  • 相关阅读:
    深入探究数据结构与算法:构建强大编程基础
    springboot+nodejs+vue+Elementui网上商城购物系统
    申报高企的条件你真的满足了吗?
    Leetcode148. 排序链表
    .NET 设计模式—适配器模式(Adapter Pattern)
    工业镜头的景深、分辨率及如何匹配合适的工业相机-51camera
    【云原生kubernetes从入门到实践系列教程 ] 三.docker 镜像仓库
    Redis数据类型-Hash-存储结构之ziplist
    剑指 Offer 03. 数组中重复的数字
    【FPGA】FPGA实现UART串口通信回环
  • 原文地址:https://blog.csdn.net/paidaboluo/article/details/126572180