简单谈谈vue的过渡动画(推荐)


Posted in Javascript onOctober 11, 2017

在vue中,实现过渡动画一般是下面这样:

<transition name="fade">
 <div></div>
</transition>

用一个transition对元素或者组件进行封装.

在过渡的时候,会有 4 个(CSS)类名在 enter/leave 的过渡中切换。

1.v-enter: 定义进入过渡的开始状态。在元素被插入时生效,在下一个帧移除。

2.v-enter-active: 定义进入过渡的结束状态。在元素被插入时生效,在 transition/animation 完成之后移除。

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

4.v-leave-active: 定义离开过渡的结束状态。在离开过渡被触发时生效,在 transition/animation 完成之后移除。

上面是官方文档的原话,但是这4个类名如何运用呢?下面看个例子

<transition name="fold">
 <div v-show="show" class="example"></div>
</transition>

css:
.example {
 width: 100px;
 height: 100px;
 transform: translate3d(0, -100px, 0);
}
.fold-enter-active, .fold-leave-active {
 transition: all .5s;
}
.fold-enter, .fold-leave-active {
 transform: translate3d(0, 0, 0);
}

当show = true时:

这里的fold-enter,是在元素显示的一瞬间被加入,然后瞬间被移除,在上面的例子中,example这个块状元素本来因为有了transform: translate3d(0, -100px, 0)这个样式,所以被上移了100px,但是因为fold-enter,所以将example这个块状元素移到了原位,但是fold-enter因为瞬间就被移除掉了,所以这时候的元素的样式又变成了transform: translate3d(0, -100px, 0),但是这时候fold-enter-active这个样式就生效了,因为设置了transition: all .5s,所以元素会在0.5s的时间内上移100px,在过渡动画结束之后,fold-enter-active这个类马上被移除.

当show = false时:

example不会马上消失,这个时候fold-leave-active这个类就起作用了,example这时的位置是在-100px,fold-leave-active定义的是过渡的结束状态:transform: translate3d(0, 0, 0);,但是同时又设置了transition: all .5s,所以这时元素会在0.5s的时间内下移100px.之后fold-leave-active被移除.

官网的一张图

简单谈谈vue的过渡动画(推荐)

另外,还可以在动画中调用js钩子函数:

<transition
 v-on:before-enter="beforeEnter"
 v-on:enter="enter"
 v-on:after-enter="afterEnter"
 v-on:enter-cancelled="enterCancelled"
 v-on:before-leave="beforeLeave"
 v-on:leave="leave"
 v-on:after-leave="afterLeave"
 v-on:leave-cancelled="leaveCancelled"
>
</transition>

不过用的不多,可以在methods中定义这些方法.

以上这篇简单谈谈vue的过渡动画(推荐)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
jquery学习笔记 用jquery实现无刷新登录
Aug 08 Javascript
15个款优秀的 jQuery 图片特效插件推荐
Nov 21 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
Nov 29 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
详解基于angular路由的requireJs按需加载js
Jan 20 Javascript
JavaScript正则替换HTML标签功能示例
Mar 02 Javascript
JavaScript 实现 Tab 点击切换实例代码
Mar 25 Javascript
Javascript防止图片拉伸的自适应处理方法
Dec 26 Javascript
JS块级作用域和私有变量实例分析
May 11 Javascript
vue 使用element-ui中的Notification自定义按钮并实现关闭功能及如何处理多个通知
Aug 17 Javascript
JS中封装axios来管控api的2种方式
Sep 11 Javascript
Vue-router结合transition实现app前进后退动画切换效果的实例
Oct 11 #Javascript
jQuery实现的事件绑定功能基本示例
Oct 11 #jQuery
AngularJS中下拉框的高级用法示例
Oct 11 #Javascript
详解从Vue.js源码看异步更新DOM策略及nextTick
Oct 11 #Javascript
AngularJS中下拉框的基本用法示例
Oct 11 #Javascript
Node.js学习之TCP/IP数据通讯(实例讲解)
Oct 11 #Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
Oct 11 #Javascript
You might like
PHP ajax 分页类代码
2008/11/13 PHP
php反弹shell实现代码
2009/04/22 PHP
php中怎么搜索相关联数组键值及获取之
2013/10/17 PHP
PHP中使用curl伪造IP的简单方法
2015/08/07 PHP
php验证码生成代码
2015/11/11 PHP
php实现登录tplink WR882N获取IP和重启的方法
2016/07/20 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
Laravel 登录后清空COOKIE的操作方法
2019/10/14 PHP
jquery 操作表格实现代码(多种操作打包)
2011/03/20 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
Jquery 在页面加载后执行的几种方式
2014/03/14 Javascript
Node.js开发之访问Redis数据库教程
2015/01/14 Javascript
nodejs 整合kindEditor实现图片上传
2015/02/03 NodeJs
关于JavaScript的变量的数据类型的判断方法
2015/08/14 Javascript
Javascript之BOM(window对象)详解
2016/05/25 Javascript
Google 地图事件实例讲解
2016/08/06 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
利用JS判断客户端类型你应该知道的四种方法
2017/12/22 Javascript
mui框架 页面无法滚动的解决方法(推荐)
2018/01/25 Javascript
微信小程序和H5页面间相互跳转代码实例
2019/09/19 Javascript
nodeJS与MySQL实现分页数据以及倒序数据
2020/06/05 NodeJs
ant-design表单处理和常用方法及自定义验证操作
2020/10/27 Javascript
解决vue项目中出现Invalid Host header的问题
2020/11/17 Javascript
python将回车作为输入内容的实例
2018/06/23 Python
Python IDLE清空窗口的实例
2018/06/25 Python
通过Python编写一个简单登录功能过程解析
2019/09/04 Python
详解python中的异常捕获
2020/12/15 Python
美国知名平价彩妆品牌:e.l.f. Cosmetics
2017/11/20 全球购物
德国专业木制品经销商:Holz-Direkt24
2019/12/26 全球购物
美国狗旅行和户外用品领先供应商:kurgo
2020/08/18 全球购物
供电工程专业求职信
2014/08/09 职场文书
班级出游活动计划书
2014/08/15 职场文书
干部作风整顿个人剖析材料
2014/10/06 职场文书
DIY胆机必读:各国电子管评价
2022/04/06 无线电