博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vue css过渡 和 js 钩子过渡
阅读量:5359 次
发布时间:2019-06-15

本文共 2123 字,大约阅读时间需要 7 分钟。

css过渡

 

/* 可以设置不同的进入和离开动画 *//* 设置持续时间和动画函数 */.slide-enter-active,.slide-leave-active{    transition: all 1s ease;}.slide-enter, .slide-leave-to {    transform: translateY(100%);    opacity: 0;}.slide-enter-to, .slide-leave {    transform: translateY(0);    opacity: 1;}

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

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

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

 

js 钩子函数过渡

 

// 某某过渡组件
// --------        // 进入中        // --------        beforeEnter: function (el) {            // ...            el.style.transform = 'translateY(100%)'            el.style.opacity = 0        },        // 当与 CSS 结合使用时        // 回调函数 done 是可选的        enter: function (el, done) {            // ...            el.offsetWidth            el.style.transform = 'translateY(0)'            el.style.opacity = 1            el.style.transition = 'all 1s ease'            done()        },        afterEnter: function (el) {            // ...            this.footerHeight = '350px'        },        enterCancelled: function (el) {            // ...        },        // --------        // 离开时        // --------        beforeLeave: function (el) {            // ...            console.log('beforeleave')            // el.style.transform = 'translateY(0)'            // el.style.opacity = 1        },        // 当与 CSS 结合使用时        // 回调函数 done 是可选的        leave: function (el, done) {            // ...            console.log('leave')            setTimeout(() => {                // el.offsetWidth                el.style.transform = 'translateY(100%)'                el.style.opacity = 0                el.style.transition = 'all 20s ease'                done()            })        },        afterLeave: function (el) {            // ...            this.footerHeight = '40px'        },        // leaveCancelled 只用于 v-show 中        leaveCancelled: function (el) {            // ...        }

重点:

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

转载于:https://www.cnblogs.com/php-noob-for-now/p/11059849.html

你可能感兴趣的文章
4种java定时器
查看>>
Vue.js 教程
查看>>
linux 设置网卡
查看>>
hive 语法 case when 语法
查看>>
Ajax:js读取txt内容(json格式内容)
查看>>
Task 7 买书最低价格问题
查看>>
Selenium3+python自动化007-警告框
查看>>
html5 相同形状的图形进行循环
查看>>
springboot中文官方文档
查看>>
ThreadLocal实现线程范围内共享
查看>>
多校HDU5723 最小生成树+dfs回溯
查看>>
ASP.NET MVC分页实现之改进版-增加同一个视图可设置多个分页
查看>>
关于ASP.NET MVC开发设计中出现的问题与解决方案汇总 【持续更新】
查看>>
关于Entity Framework中的Attached报错的完美解决方案终极版
查看>>
Selenium之Web页面滚动条滚操作
查看>>
组合数据类型练习,英文词频统计实例上
查看>>
Uber回馈开源的一些软件
查看>>
day 3 修改haproxy.cfg 作业
查看>>
UIScrollView —— 缩放实现案例(二)
查看>>
【Qt】Qt Linguist介绍【转】
查看>>