• vue中过渡动画分为两类,一类是进场动画,一类是出场动画
  • 要实现上面的进场动画,主要有三种方式:类名,css动画库,js函数

类名 本质就是动态添加类名实现动画

  • 在进入/离开的过渡中,会有 6 个 class 切换。
  1. v-enter:定义进入过渡的开始状态。在元素被插入之前生效,在元素被插入之后的下一帧移除。

  2. v-enter-active:定义进入过渡生效时的状态。在整个进入过渡的阶段中应用,在元素被插入之前生效,在过渡/动画完成之后移除。这个类可以被用来定义进入过渡的过程时间,延迟和曲线函数。

  3. v-enter-to: 2.1.8版及以上 定义进入过渡的结束状态。在元素被插入之后下一帧生效 (与此同时 v-enter 被移除),在过渡/动画完成之后移除。

  4. v-leave: 定义离开过渡的开始状态。在离开过渡被触发时立刻生效,下一帧被移除。

  5. v-leave-active:定义离开过渡生效时的状态。在整个离开过渡的阶段中应用,在离开过渡被触发时立刻生效,在过渡/动画完成之后移除。这个类可以被用来定义离开过渡的过程时间,延迟和曲线函数。

  6. v-leave-to: 2.1.8版及以上 定义离开过渡的结束状态。在离开过渡被触发之后下一帧生效 (与此同时 v-leave 被删除),在过渡/动画完成之后移除。

思路:

  1. 找到需要添加过渡动画的元素,用一个transition标签包裹起来,并给它指定一个name属性,这个name属性将来会替换掉类名的v-前缀
  2. 定义上面6个类名里面的类容,注意类名v-前缀要换成name的值,关键要分清楚开始和结束的状态样式
<style>
.move-enter {padding-left: 100px;
}
.move-enter-active {transition: all 6s;
}
.move-enter-to {padding-left: 0;
}.move-leave {padding-left: 0;
}
.move-leave-active {transition: all 6s;
}
.move-leave-to {padding-left: 100px;
}
</style>
<body><div id="app"><transition name="move"><div v-if="isShow">显示</div></transition><button @click="isShow = !isShow">切换</button></div>
<script>var vm = new Vue({el: '#app',data: {isShow: false}})</script>
</body>

注意点:

  • 在标签同名的情况下,vue为了提高效率,会直接替换掉标签中的内容。为了解决这个问题,给每个标签加一个key属性,但这个key必须不一样
  • 当transition下面有两个标签要切换的时候,会出现同时在动的情况,解决方式给transition加一个mode属性
  • 如果想要动画一进来就有,那么就给transition加要给appear属性
<transition name="move" mode="out-in" appear><div v-if="isShow" key="one">显示</div><div v-else key="two">隐藏</div>
</transition>
<button @click="isShow = !isShow">切换</button>

转载于:https://www.cnblogs.com/mushitianya/p/10511896.html

vue中过渡动画(类名实现方式)相关推荐

  1. React中过渡动画的编写方式

    文章目录 React的过渡动画 过渡动画库的介绍 CSSTransition(掌握) SwitchTransition(了解) TransitionGroup(了解) React的过渡动画 过渡动画库 ...

  2. [vue] vue过渡动画实现的方式有哪些?

    [vue] vue过渡动画实现的方式有哪些? 1.使用vue的transition标签结合css样式完成动画 2.利用animate.css结合transition实现动画 3.利用 vue中的钩子函 ...

  3. Vue实战项目开发--Vue中的动画特效

    项目的源代码在GitHub上:点击查看 目录 vue中的css动画原理 在Vue中使用Animate.css库 在Vue中同时使用过渡属性和动画 Vue中的Js动画与Velocity.js的结合 Vu ...

  4. vue 文件转换二进制_在vue中使用axios实现post方式获取二进制流下载文件(实例代码)...

    需求 点击导出下载表格对应的excel文件 在 vue 项目中,使用的 axios ,后台 java 提供的 post 接口 api 实现 第一步,在 axios 请求中加入参数,表示接收的数据为二进 ...

  5. Vue中组件间通信的方式

    Vue中组件间通信的方式 Vue中组件间通信包括父子组件.兄弟组件.跨级组件.非嵌套组件之间通信. props $emit props $emit适用于父子组件的通信,这种组件通信的方式是我们运用的非 ...

  6. vue中实现动画效果--三种方式

    一.普通动画实现 效果 用一个按钮, 控制一个 div 的淡入和淡出 步骤 使用 js 控制 div 的 class name 点击 function anime() {var boxDom = do ...

  7. Vue 中 CSS 动画原理

    下面这段代码,是点击按钮实现hello world显示与隐藏 <div id="root"><div v-if="show">hello ...

  8. 【Vue】Vue的过渡动画

    目录 一.过渡动画 二.transition组件 三.transition的显示的CSS类名 四.transition的隐藏的CSS类名 五.互斥动画 示例: 六.设置动画过程中的监听回调 七.列表过 ...

  9. vue的过渡动画(有vue的动画库和ui库的介绍)

    一.概念 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果. 二.默认过渡 <template><div><button @click=" ...

最新文章

  1. windows下django学习笔记(二)--HelloWorld
  2. 程序员生存定律--程序人生的出口
  3. FB面经Prepare: Email User
  4. 牛客多校9 - Groundhog Looking Dowdy(尺取)
  5. C#通过工厂模式,我把一大堆if干掉了
  6. js上传文件;input上传文件;
  7. 用python计算1~100的阶乘之和_在Python中递归函数调用举例and匿名函数lambda求1~100的和及计算阶乘举例...
  8. unity3d 自动变化大小_自动做游戏(1),自动生成人物侧面图
  9. 一篇文章讲清楚人工智能、机器学习和深度学习的区别与联系
  10. ios定制中间突出的tabBar
  11. 同济大学计算机学硕无人录取,2019年双非上岸同济大学计算机考研初复试经验分享,超详细!...
  12. CVPR 2021 | 基于模型的图像风格迁移
  13. html阅读封面代码,封面.html
  14. Java爬去教务系统后怎么发布_GitHub - canliture/CrawlerCourseTable: 课程表的java爬虫实现--基于“强智教务系统”...
  15. 防用户误删除,耗费一周时间把DeleteMark标志都加上来了,所有的删除操作从“物理删除”转为“逻辑删除”
  16. ObjectArx开发笔记(二)---命令注册、表结构
  17. python画代码雨
  18. swiper vue 切换到指定_vue+swiper实现背景跟随轮播图切换
  19. 臀部大的美女最令男人着迷
  20. 很不错的教程一步步教你如何写Makefile

热门文章

  1. 分析完Top 25中概股科技公司,我们发现了回港二次上市的硬指标
  2. “完全自主”的木兰编程语言回应:承认基于Python二次开发,向中科院致歉
  3. Istio所有模块、Service、Pod的功能介绍
  4. linux后台运行和关闭、查看后台任务
  5. MySQL分布式事务(XA事务)
  6. 始于《将才》,而不止于将才
  7. OS X 下在代码中枚举所有进程的方法
  8. ASP.NET 2.0 - 如何把上传的文件保存到数据库字段 (转自章立民CnBlogs)
  9. easyui treegrid php,easyUI TreeGrid
  10. lvds接口屏线安装图解_液晶屏LVDS线类型图文讲解