首页 > 其他分享 >Vue封装的过渡与动画

Vue封装的过渡与动画

时间:2023-04-19 18:00:39浏览次数:45  
标签:动画 Vue 封装 元素 leave enter active 类名

Vue封装的过渡与动画

作用

在插入、更新或移出DOM元素时,在合适的时候给元素添加样式类名。
image

css3实现动画

先来复习一下css3是如何实现的。

1.准备动画

@keyframes 动画名 {
    from {
        transform: translateX(-100%);
    }
    to {
        transform: translateX(0px);
    }
}

2.样式

  1. v-enter-active:进入时激活
  2. v-leave-active:离开时激活
.v-enter-active {
    animation: 动画名 1s;
}
.v-leave-active {
    /* reverse 反转 */
    animation: 动画名  1s reverse;
}

3.元素标签

  • 使用transition标签去包裹需要添加动画的元素。
  • 添加appear属性可以让进入动画一开始就执行。
  • 可以给transition标签添加类名,相应的,动画的v-需要变成类名-
    例如添加类名hello.v-enter-active需要变成.hello-enter-active
<transition appear>
        <h1 v-show="isShow" >你好啊!</h1>
</transition>

写法

1. 准备好样式(选择使用)

  • 元素进入时的样式
    1. v-enter:进入的起点
    2. v-enter-active:进入过程中
    3. v-enter-to:进入的终点
  • 元素离开时的样式
    1. v-leave:离开的起点
    2. v-leave-active:离开过程中
    3. v-leave-to:离开的终点

2.使用transition包裹要过渡的元素,可以配置name属性

<transition name=hello appear>
        <h1 v-show="isShow" >你好啊!</h1>
</transition>

3. 若有多个元素需要过渡

使用transition-group标签,过渡的元素需要指定唯一key值。

 <transition-group class="hello">
          <h1 v-show="isShow" key="1">你好啊!!!</h1>
          <h1 v-show="isShow" key="2">你好啊!!!!!</h1>
</transition-group>

第三方库

可以使用第三方库实现动画效果
这里拿Animate.css举例

  1. 下载npm i animate.css
  2. 使用:首先需要输入类名(不可随意更改),其次寻找自己需要的动画复制粘贴即可
<transition
      name="animate__animated animate__bounce"
      enter-active-class="animate__wobble"
      leave-active-class="animate__backOutDown"
      >
          <h1 v-show="isShow" key="1">你好啊!!!</h1>
</transition>

标签:动画,Vue,封装,元素,leave,enter,active,类名
From: https://www.cnblogs.com/cloud0-0/p/17334186.html

相关文章

  • 欢迎页轮播动画
    如图,引导开始,球从上落下,同时淡入文字,然后文字开始轮播,最后一页时停止,点击进入首页。在来看看效果图。重力球先不讲,主要欢迎轮播简单实现首先新建一个类 TextTranslationXGuideView,用于动画展示文本是类似的,最后会有个图片箭头动画,布局很简单,就是一个TextView跟ImageView......
  • vue3微信公众号商城项目实战系列(9)购物车页面
    本篇显示购物车中的商品,购物车表结构如下,我们通过接口服务抓取登录用户的购物车信息。表名字段功能shoppingcartcart_id(int)购物车编号user_id(int)用户编号goods_id(int)商品编号goods_name(varchar)商品名称photo(varchar)商品图片price(decimal)......
  • Vue3 computed计算属性
    视频7.计算属性与监视1.computed函数与Vue2.x中computed配置功能一致写法import{computed}from'vue'setup(){... //计算属性——简写letfullName=computed(()=>{returnperson.firstName+'-'+person.lastName})//计算属性——......
  • vue利用正则去除富文本的标签和样式
    constremoveHtmlStyle=(html:any)=>{letrelStyle=/style\s*?=\s*?([‘"])[\s\S]*?\1/g;//去除样式letrelTag=/<.+?>/g;//去除标签letrelClass=/class\s*?=\s*?([‘"])[\s\S]*?\1/g;//清除类名letnewHtml="";  if(html){......
  • 运行一个vue项目vite-electron-vue
    必备软件:1)visualstudiocode2)nodejs18.16.03)yarn下载源码:项目fork自https://gitee.com/mywink/vite-electron.gitgitclonehttps://gitee.com/panie/vite-electron-vue.git运行项目1/采用vscode打开文件夹2/查看一下各种命令的版本$node-vv18.16.0$......
  • 使用Vue.js实现文字跑马灯效果
    实现文字跑马灯效果,首先用到substring()截取和setInterval计时器clearInterval()清除计时器效果如下:实现代码如下:<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content=&......
  • js页面将数据传给vue页面
    js页面 vue页面接收 ......
  • Vue 3.0的使用
    目录创建项目vue_cli创建项目vite创建项目常用APIsetup()基本使用示例ref与reactiveref与reactivetoRef与toRefs计算属性computed示例监听属性watch示例监听属性watchEffect示例新的生命周期钩子函数使用vite创建的项目创建项目vue_cli创建项目vue_cli的安装见:https://www.cnb......
  • vue3微信公众号商城项目实战系列(8)商品展示页面
    本篇实现在首页展示商品功能,表结构如下:表名字段功能goodsgoods_id(int)商品编号goods_name(varchar)商品名称photo(varchar)商品图片price(decimal)价格商品表页面呈现效果如下: 第1步:在api.js中加入获取首页商品信息和加购物车的接口方法,如下......
  • React+hook+ts+ant design封装一个具有编辑和新增功能的页面
    前言我是歌谣我有个兄弟巅峰的时候排名c站总榜19叫前端小歌谣曾经我花了三年的时间创作了他现在我要用五年的时间超越他今天又是接近兄弟的一天人生难免坎坷大不了从头再来歌谣的意志是永恒的放弃很容易但是坚持一定很酷微信公众号前端小歌谣需求分析在前端项目中最常......