vue+vue-router转场动画的实例代码


Posted in Javascript onSeptember 01, 2018

Vue+WebPack+HBuilder 项目记录

项目搭建完毕了,但是由于是单页应用嵌入HBuilder的时候无法利用它的转场动画,于是找到了vue的转场动画写法,使体验与APP靠近,在此记录;

1.首先我们要监听路由然后判断其是前进还是后退,来实现不同的动画

export default {
 name: 'app',
 data () {
  return {
  transitionName: 'slide-left'
  }
 },
 watch: {
 '$route' (to, from) {
  const toDepth = to.path.split('/').length
  const fromDepth = from.path.split('/').length
  this.transitionName = toDepth < fromDepth ? 'slide-right' : 'slide-left'
 }
 }
}

2.template

<transition :name="transitionName">
 <router-view class="child-view"></router-view>
</transition>

3.css;修改css得到不同的效果。

.child-view {
 position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -moz-box-sizing: border-box;
    box-sizing: border-box;
 transition: all .6s cubic-bezier(.55,0,.1,1);
}
.slide-left-enter, .slide-right-leave-active {
 opacity: 0;
 -webkit-transform: translate(-80px, 0);
 transform: translate(-80px, 0);
}
.slide-left-leave-active, .slide-right-enter {
 opacity: 0;
 -webkit-transform: translate(100%, 0);
 transform: translate(100%, 0);
}

上面动画可作为不同级页面的转场动画,下面可作为同级页面转场动画,无需监听路由

1.template

<transition name="slide-fade">
 <router-view></router-view>
</transition>

2.css

.slide-fade-enter-active {
 transition: all .3s ease;
 -webkit-transition: all .3s ease;
 -moz-transition: all .3s ease;
 -ms-transition: all .3s ease;
 -o-transition: all .3s ease;
}
.slide-fade-leave-active {
 transition: all .5s ease;
 -webkit-transition: all .5s ease;
 -moz-transition: all .5s ease;
 -ms-transition: all .5s ease;
 -o-transition: all .5s ease;
}
.slide-fade-enter{
 transform: translateX(20px);
 -webkit-transform: translateX(20px);
 -moz-transform: translateX(20px);
 -ms-transform: translateX(20px);
 -o-transform: translateX(20px);
 opacity: 0;
}
.slide-fade-leave-active {
 opacity: 0;
}

以上这篇vue+vue-router转场动画的实例代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
Jquery.addClass始终无效原因分析
Sep 08 Javascript
Javascript setInterval的两种调用方法(实例讲解)
Nov 29 Javascript
解决window.opener=null;window.close(),只支持IE6不支持IE7,IE8的问题
Jan 14 Javascript
js写的方法实现上传图片之后查看大图
Mar 05 Javascript
jQuery的promise与deferred对象在异步回调中的作用
May 03 Javascript
jQuery获取复选框被选中数量及判断选择值的方法详解
May 25 Javascript
json格式的javascript对象用法分析
Jul 04 Javascript
JS组件系列之JS组件封装过程详解
Apr 28 Javascript
原生JS实现层叠轮播图
May 17 Javascript
微信小程序点击控件修改样式实例详解
Jul 07 Javascript
关于AngularJS中ng-repeat不更新视图的解决方法
Sep 30 Javascript
d3绘制基本的柱形图的实现代码
Dec 12 Javascript
Vue-router 切换组件页面时进入进出动画方法
Sep 01 #Javascript
vue 实现在函数中触发路由跳转的示例
Sep 01 #Javascript
jQuery实现表格隔行换色
Sep 01 #jQuery
解决vue路由后界面没有变化,但是链接有的问题
Sep 01 #Javascript
Vue 路由切换时页面内容没有重新加载的解决方法
Sep 01 #Javascript
vue项目实现表单登录页保存账号和密码到cookie功能
Aug 31 #Javascript
vue router 跳转后回到顶部的实例
Aug 31 #Javascript
You might like
支付宝服务窗API接口开发php版本
2016/07/20 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
jQuery基于当前元素进行下一步的遍历
2014/05/20 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
JS实现运动缓冲效果的封装函数示例
2018/02/18 Javascript
JS实现的3des+base64加密解密算法完整示例
2018/05/18 Javascript
vue实现的下拉框功能示例
2019/01/29 Javascript
vue的for循环使用方法
2019/02/12 Javascript
vue基本使用--refs获取组件或元素的实例
2019/11/07 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
Python使用wxPython实现计算器
2018/01/30 Python
对Python中的@classmethod用法详解
2018/04/21 Python
Python针对给定字符串求解所有子序列是否为回文序列的方法
2018/04/21 Python
利用Python如何批量修改数据库执行Sql文件
2018/07/29 Python
python得到windows自启动列表的方法
2018/10/14 Python
Python Pywavelet 小波阈值实例
2019/01/09 Python
python 反编译exe文件为py文件的实例代码
2019/06/27 Python
Django框架序列化与反序列化操作详解
2019/11/01 Python
nginx+uwsgi+django环境搭建的方法步骤
2019/11/25 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
Python 实现简单的客户端认证
2020/07/29 Python
神经网络训练采用gpu设置的方式
2021/03/03 Python
使用CSS3实现圆角,阴影,透明
2014/12/23 HTML / CSS
Linux中如何用命令创建目录
2015/01/12 面试题
大学毕业通用个人的求职信
2013/12/08 职场文书
幼师求职自荐信范文
2014/01/26 职场文书
大学生村官承诺书
2014/03/28 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
党的群众路线教育实践活动个人整改落实情况汇报
2014/10/28 职场文书
2016党员干部廉洁自律心得体会
2016/01/13 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
在js中修改html body的样式
2021/11/11 Javascript
Nginx的gzip相关介绍
2022/05/11 Servers