Loading [MathJax]/jax/input/TeX/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Vue2使用过渡标签transition使用动画

Vue2使用过渡标签transition使用动画

作者头像
打不着的大喇叭
发布于 2024-03-11 08:21:41
发布于 2024-03-11 08:21:41
30500
代码可运行
举报
文章被收录于专栏:喇叭的学堂喇叭的学堂
运行总次数:0
代码可运行

注意:动画必须使用v-if || v-show配合

1、Vue2配Css3实现

  • 我们需要使用 过渡 标签 <transition> :
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <transition name="hello" appear>
      <h1 v-show="isShow">你好啊!</h1>
    </transition>

     :appear="true" [值需要的是布尔值,所以需要用v-bind绑定] 也可以直接写 【appear】
     appear 使用效果是:打开页面立马执行一次过来的动画
  • css3方案一:在样式style标签里面设置动画

【给来和走的样式的名字定义为 v-enter-active | v-leave-active,设置name的值,需要把v 改成它】

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>
h1 {
  background-color: orange;
}
/* 如果过渡标签加了name属性,下面的v需要改为name的值 
.v-enter-active {
  animation: gbase 1s;
}
.v-leave-active {
  animation: gbase 1s reverse;
}
*/
.hello-enter-active {
  animation: gbase 1s;
}
.hello-leave-active {
  animation: gbase 1s reverse;
}
@keyframes gbase {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
</style>
  • 注意:vue解析的时候 <transition> 就没有了
  • 源码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>
    <!--//todo 使用动画 [ 标签必须使用v-if||v-show才行 ]
      //todo 1、使用 过渡 标签 <transition> 【里面有一个属性name 标志它的名字】
      //todo 2、在样式style标签里面设置动画
      //todo 3、给来和走的样式的名字定义为 v-enter-active | v-leave-active 【设置name的值,需要把v 改成它】
     -->
    <!-- //? 注意 vue解析的时候 <transition> 就没有了 -->
    <!-- //todo :appear="true" [值需要的是布尔值,所以需要用v-bind绑定] 也可以直接写 【appear】
         //* appear 使用效果是:打开页面立马执行一次过来的动画 -->
    <transition name="hello" appear>
      <h1 v-show="isShow">你好啊!</h1>
    </transition>
  </div>
</template>

<script>
export default {
  name: "Test",
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style>
h1 {
  background-color: orange;
}
.hello-enter-active {
  animation: gbase 1s;
}
.hello-leave-active {
  animation: gbase 1s reverse;
}
@keyframes gbase {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0px);
  }
}
</style>
  • 其他属性样式

  • <transition>标签 里面只能使用一个 DOM 标签
  • 使用 <transition-group> 可以里面放多个标签使用动画 【但是里面加动画的标签需要加 唯一标识key
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <transition-group name="hello" appear>
      <h1 v-show="isShow" key="1">你好啊!</h1>
      <h1 v-show="!isShow" key="2">我不好啊!</h1>
    </transition-group>
  • css3方案2
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<style>
h1 {
  background-color: orange;
  /* transition: 0.5 linear; */
}
todo 进入的起点
.hello-enter {
  transform: translateX(-100%);
}
 todo 进入的终点
.hello-enter-to {
  transform: translateX(0px);
}
 todo 离开的起点
.hello-leave {
  transform: translateX(0px);
}
 todo 离开的终点
.hello-leave-to {
  transform: translateX(-100%);
}

简写 :进入的起点 就是 离开的终点
.hello-enter,
.hello-leave-to {
  transform: translateX(-100%);
}
.hello-enter-active,
.hello-leave-active {
  或者写在需要加动画的标签里面
  transition: 0.5 linear;
}
简写 :进入的终点 就是 离开的起点
.hello-enter-to,
.hello-leave {
  transform: translateX(0px);
}
</style>

2、vue2配合 animate库使用动画

  • npm install animate.css : 安装并使用动画库
  • import "animate.css"; 引入该库
  • 设置 name="animate__animated animate__bounce"
  • https://animate.style/里面找动画,把动画名称赋值给enter-active-class 、leave-active-class这两个属性
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <transition-group
      name="animate__animated animate__bounce"
      appear
      enter-active-class="animate__jackInTheBox"
      leave-active-class="animate__fadeOut"
    >
      <h1 v-show="isShow" key="1">你好啊!</h1>
    </transition-group>
  • 源码
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<template>
  <div>
    <button @click="isShow = !isShow">显示/隐藏</button>

    <!-- // todo 2、设置 name="animate__animated animate__bounce" -->
    <!-- // todo 3、去https://animate.style/ 里面找动画 -->
    <transition-group
      name="animate__animated animate__bounce"
      appear
      enter-active-class="animate__jackInTheBox"
      leave-active-class="animate__fadeOut"
    >
      <h1 v-show="isShow" key="1">你好啊!</h1>
    </transition-group>
  </div>
</template>

// npm install animate.css : 安装并使用动画库
<script>
// todo 1、因为是一个样式,可以直接引入文件
import "animate.css";

export default {
  name: "Test",
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

<style>
h1 {
  background-color: orange;
  /* transition: 0.5 linear; */
}
</style>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
vue2 笔记8动画
样例解析 <template> <div class="hello"> <button @click="show1 = !show1">show</button> <!-- 使用transition标签,会在动画的对应阶段给包裹的元素添加、删除相应的样式 --> <!-- appear 使得元素在创建时就使用动画显示 --> <transition appear> <h1 v-show="show1">Hello World</h1> </transi
路过君
2022/04/13
3340
vue2知识点:Vue封装的过度与动画
注意点1:</font>最好有css动画基础,再练习这块,但我只是了解所以原封不动拷贝看效果就是,当了解即可。
刘大猫
2024/10/26
1340
10 行代码!Vue 实现炫酷的 TodoList 动画效果
200行纯前端Vue代码!教你写一个专属TodoList【零基础友好】 文章中分享了如何使用纯 Vue 代码来实现一个动态效果的 TodoList,今天的分享是基于 TodoList 已有功能,在添加 todo 和删除 todo 时的样式上增加动画效果的优化。
Wu_Candy
2022/12/06
1.5K0
10 行代码!Vue 实现炫酷的 TodoList 动画效果
十一.Vue过渡动画
本文最后更新于 870 天前,其中的信息可能已经有所发展或是发生改变。 1. 使用过渡类 <style> .v-enter,.v-leave-to{ opacity: 0; transform: translateX(200px) } .v-enter-active,.v-leave-active{ transition: all 0.8s ease } </style> <transition> <h1 v-if="flag">Hello</h1> </tra
Yuyy
2022/06/28
6780
Vue3 | 动画专题
-- 使用@keyframes [关键帧实例名]配置好关键帧; -- 使用animation配置关键帧以及动画过程到完成的时延, 完成动画的定义【写在一个CSS类中(如下的myAnimation)】; -- 在data中定义一个以 上面定义的动画CSS类实例(如myAnimation) 为属性值的 数据字段(如myAnimateData); -- 在dom中使用:class=[以 动画CSS类实例 为属性的 数据字段], 引用这个数据字段(myAnimateData)即可,至此完成动画定义; -- 数据字段(如myAnimateData)中,可以通过对 属性值即动画CSS类实例的 布尔值的 改变, 去控制动画的开关,如下 配置false 为关:
凌川江雪
2021/04/09
1.5K0
Vue3 | 动画专题
【Vue3 从入门到实战 进阶式掌握完整知识体系】020-Vue中的动画:使用 transition 标签实现单元素组件的过渡和动画效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZYhtzHIW-1624976737549)(https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/be9f674f6e2d474dba33d92b24d52b23~tplv-k3u1fbpfcp-watermark.image)]
訾博ZiBo
2025/01/06
3500
【Vue3 从入门到实战 进阶式掌握完整知识体系】020-Vue中的动画:使用 transition 标签实现单元素组件的过渡和动画效果
Vue 04.过渡&动画
animated 类可以加在被包裹的标签或transition类中 ,加在transition类中时需要加在每一个class中
LittlePanger
2020/04/14
9370
Vue-transition组件的Css动画+过渡(1)入门,笔记总结 “建议收藏”
这里说一下transition: property duration timing-function delay; 一共有四个参数可选;
玖柒的小窝
2021/09/29
1.6K0
从零开始学 Web 之 Vue.js(五)Vue的动画
在这里我会从 Web 前端零基础开始,一步步学习 Web 相关的知识点,期间也会分享一些好玩的项目。现在就让我们一起进入 Web 前端学习的冒险之旅吧!
Daotin
2018/09/30
1.4K0
从零开始学 Web 之 Vue.js(五)Vue的动画
Vue 动画与脚手架
Vue 提供了 transition 的封装组件,在下列情形中,可以给任何元素和组件添加进入/离开过渡
RiemannHypothesis
2022/11/05
4550
Vue 动画与脚手架
Vue一个案例引发「动画」的使用总结
项目开发中动画有着很重要的作用,而且也是用到的地方非常多,例如:鼠标的进入离开,弹窗效果,组件的显示隐藏,列表的切换等等,可以说我们网页上的动画无处不在,也有人说了,这些东西也可以不使用动画。
六小登登
2018/12/01
1.1K0
Vue transition动画
官网 API: https://cn.vuejs.org/v2/guide/transitions.html
chuchur
2022/10/25
5980
终于不再对transition和animation,傻傻分不清楚了 --vue中使用transition和animation
以前写页面注重在功能上,对于transition和animation是只闻其声,不见其人,对于页面动画效果心理一直痒痒的。最近做活动页面,要求页面比较酷炫,终于有机会认真了解了。
huofo
2022/03/18
1.7K0
【云+社区年度征文】Vue深入dom到组件动画
MV,VM是Vue提供,关注model操作(es5:obj.properties(对象性能、内容)+虚拟dom)
瑞新
2020/12/18
2.4K0
【云+社区年度征文】Vue深入dom到组件动画
Vue教程(动画-基础入门)
  在我们显示的页面中动画对于我们来说虽然不是必须的,但是必要的一些动画效果能够提高用户的体验,帮助用户更好的理解页面中的功能。所以本文就来给大伙介绍下动画的基础内容。
用户4919348
2019/07/22
1.2K0
32.Vue - 动画 - transition使用过渡类名实现动画
Vue 在插入、更新或者移除 DOM 时,提供多种不同方式的应用过渡效果。 包括以下工具:
Devops海洋的渔夫
2020/04/24
2.9K0
32.Vue - 动画 - transition使用过渡类名实现动画
vue-cli学习笔记-常用属性与方法
事件通常以v-on开头 例如 v-on:xxx=“func” v-on:click=“function” 鼠标点击事件 可以简写为 @click=“function” 也可以携带参数:例如 @click=“function(test)”
JokerDJ
2023/11/27
2800
vue-cli学习笔记-常用属性与方法
vue基础(三)
除了 vue-resource 之外,还可以使用 axios 的第三方包实现实现数据的请求 1. 之前的学习中,如何发起数据请求? 2. 常见的数据请求类型? get post jsonp 3. 测试的URL请求资源地址: + get请求地址: http://www.liulongbin.top:3005/api/get + post请求地址:http://www.liulongbin.top:3005/api/post + jsonp请求地址:http://www.liulongbin.top:3005/api/jsonp 4. JSONP的实现原理 + 由于浏览器的安全性限制,不允许AJAX访问 协议不同、域名不同、端口号不同的 数据接口,浏览器认为这种访问不安全; + 可以通过动态创建script标签的形式,把script标签的src属性,指向数据接口的地址,因为script标签不存在跨域限制,这种数据获取方式,称作JSONP(注意:根据JSONP的实现原理,知晓,JSONP只支持Get请求); + 具体实现过程: - 先在客户端定义一个回调方法,预定义对数据的操作; - 再把这个回调方法的名称,通过URL传参的形式,提交到服务器的数据接口; - 服务器数据接口组织好要发送给客户端的数据,再拿着客户端传递过来的回调方法名称,拼接出一个调用这个方法的字符串,发送给客户端去解析执行; - 客户端拿到服务器返回的字符串之后,当作Script脚本去解析执行,这样就能够拿到JSONP的数据了;
不愿意做鱼的小鲸鱼
2022/09/24
6280
vue基础(三)
Vue动画
Vue中的动画并不是是指利用Vue实现某些炫酷的效果,而是通过某些的过渡类名在插入、更新或者移除 DOM 时元素添加过渡效果,使其看上去不那么生硬。
切图仔
2022/09/08
9900
Vue动画
transition过渡&动画
需要设置动画的元素或组件要在外边包裹一个<transition>标签,设置自定义的name,vue会根据元素的切换(进入/离开)过程添加相应的css类名,你可以自由地使用css类名来设置css过渡&动画。
小小杰啊
2022/12/21
9730
相关推荐
vue2 笔记8动画
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验