css过渡

  1. <transition name="slide">
  2. <div v-show="!showChatInput" class="slide-footer" @click="showChatInput = !showChatInput" >回复</div>
  3. </transition>
  1. /* 可以设置不同的进入和离开动画 */
  2. /* 设置持续时间和动画函数 */
  3. .slide-enter-active,
  4. .slide-leave-active{
  5. transition: all 1s ease;
  6. }
  7. .slide-enter, .slide-leave-to {
  8. transform: translateY(100%);
  9. opacity: 0;
  10. }
  11. .slide-enter-to, .slide-leave {
  12. transform: translateY(0);
  13. opacity: 1;
  14. }

xx-enter-active,xx-leave-active 是进入和离开的整个过程 设置过渡时间即可

xx-enter,xx-leave-to 是 进入前 和离开后的状态(对于简单的过渡,从下面滑入滑出,进入前和和离开后 本身就是同一状态 所以可以写一个样式)

xx-enter-to,xx-leave 是 进入后和离开前的状态

js 钩子函数过渡

  1. <transition v-on:before-enter="beforeEnter"
  2. v-on:enter="enter"
  3. v-on:after-enter="afterEnter"
  4. v-on:enter-cancelled="enterCancelled"
  5.  
  6. v-on:before-leave="beforeLeave"
  7. v-on:leave="leave"
  8. v-on:after-leave="afterLeave"
  9. v-on:leave-cancelled="leaveCancelled">
  10.  
  11. <com></com> // 某某过渡组件
  12. </transition>
  1. // --------
  2. // 进入中
  3. // --------
  4.  
  5. beforeEnter: function (el) {
  6. // ...
  7. el.style.transform = 'translateY(100%)'
  8. el.style.opacity = 0
  9. },
  10. // 当与 CSS 结合使用时
  11. // 回调函数 done 是可选的
  12. enter: function (el, done) {
  13. // ...
  14. el.offsetWidth
  15. el.style.transform = 'translateY(0)'
  16. el.style.opacity = 1
  17. el.style.transition = 'all 1s ease'
  18. done()
  19. },
  20. afterEnter: function (el) {
  21. // ...
  22. this.footerHeight = '350px'
  23. },
  24. enterCancelled: function (el) {
  25. // ...
  26. },
  27.  
  28. // --------
  29. // 离开时
  30. // --------
  31.  
  32. beforeLeave: function (el) {
  33. // ...
  34. console.log('beforeleave')
  35. // el.style.transform = 'translateY(0)'
  36. // el.style.opacity = 1
  37. },
  38. // 当与 CSS 结合使用时
  39. // 回调函数 done 是可选的
  40. leave: function (el, done) {
  41. // ...
  42. console.log('leave')
  43. setTimeout(() => {
  44. // el.offsetWidth
  45. el.style.transform = 'translateY(100%)'
  46. el.style.opacity = 0
  47. el.style.transition = 'all 20s ease'
  48. done()
  49. })
  50.  
  51. },
  52. afterLeave: function (el) {
  53. // ...
  54. this.footerHeight = '40px'
  55. },
  56. // leaveCancelled 只用于 v-show 中
  57. leaveCancelled: function (el) {
  58. // ...
  59. }

重点:

  1. el.offsetWidth 是用来重绘页面的 不加上这句话 没有过渡效果 也可以用setTimeout((=>{}))

Vue css过渡 和 js 钩子过渡的更多相关文章

  1. vue.js之过渡动画

    vue提供了一个封装动画的组件 <transition name="tr"></transition>,将需要执行动画的元素包裹在该组件中,在通过css修改 ...

  2. 四、Vue过渡与动画、过渡css类名、自定义指定、过滤器

    一.过渡 动画 1.1简单的过渡动画使用 parent.vue [0]定义一个待显示的数据 [1]定义一个显示隐藏flag [2]使用动画过滤标签,name用来连接style样式:v-show用来控制 ...

  3. vue总结 04过渡--进入/离开 列表过渡

    进入/离开 & 列表过渡 概述 Vue 在插入.更新或者移除 DOM 时,提供多种不同方式的应用过渡效果.包括以下工具: 在 CSS 过渡和动画中自动应用 class 可以配合使用第三方 CS ...

  4. Web高性能动画及渲染原理(1)CSS动画和JS动画

    目录 一. CSS动画 和 JS动画 1.1 CSS动画 1.2 JS动画 1.3 小结 二. 使用Velocity.js实现动画 示例代码托管在:http://www.github.com/dash ...

  5. 高性能Web动画和渲染原理系列(1)——CSS动画和JS动画

    [摘要] 介绍CSS动画和JS动画的基本特点,以及轻量级动画库velocity.js的基本用法. 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园 ...

  6. vue开发工具node.js及构建工具webpack

    1.概念 node.js:可以运行JavaScript的服务平台,可以把它当做一个后端程序,只是它的开发语言是JavaScript (通常情况下,JavaScript的运行环境都是浏览器,因此Java ...

  7. vue 项目实战 (生命周期钩子)

    开篇先来一张图 下图是官方展示的生命周期图 Vue实例的生命周期钩子函数(8个)        1. beforeCreate             刚 new了一个组件,无法访问到数据和真实的do ...

  8. CSS3实现鼠标移动到图片上图片变大(缓慢变大,有过渡效果,放大的过程是有动画过渡的,这个过渡的时间可以自定义)

    转载自:http://blog.csdn.net/u014175572/article/details/51535768 CSS3的transform:scale()可以实现按比例放大或者缩小功能. ...

  9. vue中config/index.js:配置的详细理解

    当我们需要和后台分离部署的时候,必须配置config/index.js: 用vue-cli 自动构建的目录里面  (环境变量及其基本变量的配置) var path = require('path') ...

随机推荐

  1. 题解-CF1401E Divide Square

    题面 CF1401E Divide Square 给一个正方形平面边长为 \(10^6\),给 \(n\) 条横线段和 \(m\) 条竖线段,每条线段都与正方形边缘相交且一条直线上不会有两条线段,求被 ...

  2. Java设计模式(一)——单例模式

    简介 定义: 确保一个类只有一个实例,并提供一个全局访问点来访问这个唯一实例. 单例类拥有一个私有构造函数,确保用户无法通过 new 来直接实例化它.类中包含一个静态私有成员变量与静态公有的工厂方法, ...

  3. sql语句执行次序

    from→on→join→where→group by→having→select→distinct→order by→limit

  4. 要你命3000会员版v20.03_全球抖音模式

    要你命3000是搭配抖音和极其多软件的神器,支持国际版.国内版,可以去除全部限制,无需爬墙,无需拔卡,35个国家/自由切换,真心强大,请务必低调,谢谢合作. 下载地址:https://sansuinb ...

  5. Spring中毒太深,离开Spring我居然连最基本的接口都不会写了

    前言 随着 Spring 的崛起以及其功能的完善,现在可能绝大部分项目的开发都是使用 Spring(全家桶) 来进行开发,Spring也确实和其名字一样,是开发者的春天,Spring 解放了程序员的双 ...

  6. AWT05-对话框

    1.Dialog Dialog组件是Window的子类,是容器类,是特殊组件. Dialog是可以独立存在的顶级窗口,使用上和普通窗口几乎没有区别,但应注意以下两点: 1.对话框通常依赖于其他窗口,也 ...

  7. 「 洛谷 」P4539 [SCOI2006]zh_tree

    小兔的话 推荐 小兔的CSDN [SCOI2006]zh_tree 题目限制 内存限制:250.00MB 时间限制:1.00s 标准输入输出 题目知识点 思维 动态规划 \(dp\) 区间\(dp\) ...

  8. Sentinel Dashboard(基于1.8.1)流控规则持久化到Nacos——涉及部分Sentinel Dashboard源码改造

    前言 之前虽然也一直在使用sentinel实现限流熔断功能,但却没有好好整理之前看的源码与资料,今天有时间将之前自己整理过的资料写成一篇博文,或者是是一篇关于Sentinel(基于目前最近版本1.8, ...

  9. Java JVM——2.类加载器子系统

    概述 类加载器子系统在Java JVM中的位置 类加载器子系统的具体实现 类加载器子系统的作用 ① 负责从文件系统或者网络中加载.class文件,Class 文件在文件开头有特定的文件标识. ② Cl ...

  10. [日常摸鱼]bzoj2823 [AHOI2012]信号塔

    题意:$n$个点,求最小圆覆盖,$n \leq 5e5$ 这题数据是随机的hhh 我们可以先求出凸包然后对凸包上的点求最小圆覆盖-(不过直接求应该也行?) 反正随便写好像都能过- #include&l ...