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 相关文章推荐
用Javascript同时提交多个Web表单的方法
Dec 26 Javascript
caller和callee的区别介绍及演示结果
Mar 10 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
AngularJS HTML编译器介绍
Dec 06 Javascript
javascript获取文档坐标和视口坐标
May 26 Javascript
angularjs自定义ng-model标签的属性
Jan 21 Javascript
探讨:JavaScript ECAMScript5 新特性之get/set访问器
May 05 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
jQuery监听文件上传实现进度条效果的方法
Oct 16 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
Jun 24 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
一个用php3编写的简单计数器
2006/10/09 PHP
PHP以及MYSQL日期比较方法
2012/11/29 PHP
Thinkphp关闭缓存的方法
2015/06/26 PHP
php自定义函数实现二维数组按指定key排序的方法
2016/09/29 PHP
php中钩子(hook)的原理与简单应用demo示例
2019/09/03 PHP
JavaScript 产生不重复的随机数三种实现思路
2012/12/13 Javascript
解决JS浮点数运算出现Bug的方法
2013/03/12 Javascript
一些老手都不一定知道的JavaScript技巧
2014/05/06 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
JS 面向对象之继承---多种组合继承详解
2016/07/10 Javascript
JS控制div跳转到指定的位置的几种解决方案总结
2016/11/05 Javascript
jQuery实现6位数字密码输入框
2016/12/29 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
WEB前端性能优化的7大手段详解
2020/02/04 Javascript
[01:32]DOTA2 2015国际邀请赛中国区预选赛第四日战报
2015/05/29 DOTA
python多线程threading.Lock锁用法实例
2014/11/01 Python
Python利用正则表达式实现计算器算法思路解析
2018/04/25 Python
python调用Matplotlib绘制分布点并且添加标签
2018/05/31 Python
python3通过selenium爬虫获取到dj商品的实例代码
2019/04/25 Python
Python Django框架单元测试之文件上传测试示例
2019/05/17 Python
python模拟实现斗地主发牌
2020/01/07 Python
详解python itertools功能
2020/02/07 Python
Python实现aes加密解密多种方法解析
2020/05/15 Python
html5仿支付宝密码框的实现代码
2017/09/06 HTML / CSS
美国廉价机票预订网站:Cheapfaremart
2018/04/28 全球购物
remote接口和home接口主要作用
2013/05/15 面试题
高中生毕业自我鉴定范文
2013/12/22 职场文书
介绍信模板
2015/01/31 职场文书
2015年乡镇扶贫工作总结
2015/04/08 职场文书
党员干部廉政承诺书
2015/04/28 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
大学生就业意向书
2015/05/11 职场文书
2015年小学重阳节活动总结
2015/07/29 职场文书
Python OpenCV快速入门教程
2021/04/17 Python
springboot新建项目pom.xml文件第一行报错的解决
2022/01/18 Java/Android