码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 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)

  • 相关阅读:
    【力扣】杨辉三角问题
    java源码系列:HashMap底层存储原理详解——2、技术本质-原理过程-数据结构
    SLAM从入门到精通(从amcl到navigation软件栈)
    JAVA反射机制详解
    回归预测 | MATLAB实现CNN-SVM卷积支持向量机多输入单输出回归预测
    QT:tcpSocket 报错The proxy type is invalid for this operation
    【Linux】 yum —— Linux 的软件包管理器
    自大型人格分析,如何改变自大型性格?
    关于Socket 客户端和服务端通信,为什么要flush 为什么使用shutdownOutput的问题
    leetcode - 04 树专题 114~106~96~863~剑指Offer 27~257~108~617~ 剑指 Offer 07 重建二叉树~99
  • 原文地址:https://blog.csdn.net/paidaboluo/article/details/126572180
  • 最新文章
  • 【JVM】编译执行与解释执行的区别是什么?JVM 使用哪种方式?
    用 Hashids 优雅解决 C 端自增 ID 暴露问题
    V8引擎 精品漫游指南--Ignition篇(上) 指令 栈帧 槽位 调用约定 内存布局 基础内容
    LLVM Pass快速入门(四):代码插桩
    milkup:桌面端 markdown AI续写和即时渲染
    基于项目工程构建SBOM(软件物料清单)的研究
    鸿蒙应用开发UI基础第二节:鸿蒙应用程序框架核心解析与实操
    .NET 中如何快速实现 List 集合去重?
    扣子Coze实战:从0到1打造抖音+小红书热点监控智能体
    浅谈数据访问层
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号