自动过渡动画 - AutoAnimate 库

2024-05-05 12:12

本文主要是介绍自动过渡动画 - AutoAnimate 库,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文给大家介绍一个一行代码添加过渡动画的库。

介绍

AutoAnimate是一个零配置、投入式动画实用程序,可以为您的Web应用程序添加平滑的过渡。您可以将其与React、Solid、Vue、Svelte或任何其他JavaScript应用程序一起使用。

官方地址: https://auto-animate.formkit.com/

github 地址: https://github.com/formkit/auto-animate

简而言之,AutoAnimate 是一个能够一行代码直接添加过度动画的库,无需再去了解繁杂的 css 属性,以及动画相关的知识。

在一些快速验证的场景中尤其适用。

本文主要介绍在 vue 中的使用方式。

安装

安装依赖

yarn add @formkit/auto-animate

注册指令

import { createApp } from 'vue'
import { autoAnimatePlugin } from '@formkit/auto-animate/vue'
import App from 'App.vue'createApp(App).use(autoAnimatePlugin).mount('#app')

当然,你也可以直接引入使用

import { vAutoAnimate } from '@formkit/auto-animate'

基本使用

插件注册之后即可在你需要动态变化的元素(主要是循环中的元素)的父元素中使用v-auto-animate 即完成,非常地简单,以下为官方示例:

<script setup>
import { ref } from 'vue'
const items = ref(["😏","😐","😑","😒","😕", ... ])
function removeItem(toRemove) {items.value = items.value.filter((item) => item !== toRemove)
}
</script><template><h5>Click emojis to remove them.</h5><ul v-auto-animate><liv-for="item in items":key="item"@click="removeItem(item)">{{ item }}</li></ul>
</template>

运行可得以下结果:

在这里插入图片描述
一个循环列表删除单条的动画就自动加上去了,无需再用其他的什么操作

进阶使用

AutoAnimate 不仅对普通列表生效;

同时也对卡片、横纵坐标盒子,甚至交换位置的列表项生效

例如如下动画:(来自官方)
在这里插入图片描述
其核心代码与普通使用方法一致

 <div class="boxes" v-auto-animate="{ duration: 500 }">

替换自带的动画

如果对它自带的动画和过度方式不满意,也可以将它替换掉,只需要引入AutoAnimate 方法,并修改其内容重新定义 add、remove、remain的动画帧即可。

import autoAnimate, { getTransitionSizes } from '@formkit/auto-animate'autoAnimate(parentElement, (el, action, oldCoords, newCoords) => {let keyframes// supply a different set of keyframes for each actionif (action === 'add') {keyframes = [{ transform: 'scale(0)', opacity: 0 },{ transform: 'scale(1.15)', opacity: 1, offset: 0.75 },{ transform: 'scale(1)', opacity: 1 }]}if (action === 'remove') {// ...}if (action === 'remain') {// ...}return new KeyframeEffect(el, keyframes, { duration: 600, easing: 'ease-out' })
}))

总结

AutoAnimate 实现了一行代码自动添加过渡动画,时间原因未对其原理进行分析,但看其替换默认动画的实现方式,应当在使用 js 根据情况在修改相关元素的属性。

对于快速验证的小应用,尤其涉及到循环列表或者是横纵坐标循环 box 的,甚至交换位置等交互的,这无疑是一个极好的选择。

不仅如此,对于后端人士,不得不写一点前端的时候,希望快速搞一点动效,以免显得生硬,但又对 css 和过渡动画了解没那么深入,这就更是一个不错的选择了。

这篇关于自动过渡动画 - AutoAnimate 库的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/961688

相关文章

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Flutter 进阶:绘制加载动画

绘制加载动画:由小圆组成的大圆 1. 定义 LoadingScreen 类2. 实现 _LoadingScreenState 类3. 定义 LoadingPainter 类4. 总结 实现加载动画 我们需要定义两个类:LoadingScreen 和 LoadingPainter。LoadingScreen 负责控制动画的状态,而 LoadingPainter 则负责绘制动画。

基于51单片机的自动转向修复系统的设计与实现

文章目录 前言资料获取设计介绍功能介绍设计清单具体实现截图参考文献设计获取 前言 💗博主介绍:✌全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,一名热衷于单片机技术探索与分享的博主、专注于 精通51/STM32/MSP430/AVR等单片机设计 主要对象是咱们电子相关专业的大学生,希望您们都共创辉煌!✌💗 👇🏻 精彩专栏 推荐订阅👇🏻 单片机

Python3 BeautifulSoup爬虫 POJ自动提交

POJ 提交代码采用Base64加密方式 import http.cookiejarimport loggingimport urllib.parseimport urllib.requestimport base64from bs4 import BeautifulSoupfrom submitcode import SubmitCodeclass SubmitPoj():de

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

动画AnimationDrawable、转动

现实开发中:很多地方都用到 点击动画的特效; 本案例本人做了三个关于“动” 画 的效果; 先上图: 总体图: A: B: 1:点击图片按钮,效果是:图片闪动; 通过在xml中定义:标签:animation-list来实现点击动画的效果;  是否循环标签:oneshot ;   时间间隔标签:duration ; 要显示的图片标签:drawable ;

13 transition数组的动画使用

划重点 动画:transitiontransition-group :数组动画数组的 添加 / 删除 豆腐粉丝汤 清淡又健康 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><me

12 动画transition的使用2

划重点 Vue 动画:transition / transform在动画周期中执行动动画(上一篇是通过动画样式控制动画) 清蒸扇贝 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><

Shell脚本实现自动登录服务器

1.登录脚本 login_server.sh #!/bin/bash# ReferenceLink:https://yq.aliyun.com/articles/516347#show all host infos of serverList.txtif [[ -f ./serverList.txt ]]thenhostNum=`cat ./serverList.txt | wc -l`e

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env