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 相关文章推荐
excel操作之Add Data to a Spreadsheet Cell
Jun 12 Javascript
javascript计时器详解
Feb 28 Javascript
jQuery实现简单的DIV拖动效果
Feb 19 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
bootstrap导航、选项卡实现代码
Dec 28 Javascript
关于vue.js过渡css类名的理解(推荐)
Apr 10 Javascript
bootstrap datetimepicker控件位置异常的解决方法
Nov 23 Javascript
jQuery中复合选择器简单用法示例
Mar 31 jQuery
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
Mar 10 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
JavaScript中作用域链的概念及用途讲解
Aug 06 Javascript
解决vue初始化项目一直停在downloading template的问题
Nov 09 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
php 高效率写法 推荐
2010/02/21 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
2011/12/29 PHP
PHP实现提取一个图像文件并在浏览器上显示的代码
2012/10/06 PHP
PHP递归删除多维数组中的某个值
2017/04/17 PHP
几行代码轻松搞定jquery实现flash8类似的连接效果
2007/05/03 Javascript
jquery tools系列 expose 学习
2009/09/06 Javascript
仿当当网淘宝网等主流电子商务网站商品分类导航菜单
2013/09/25 Javascript
JavaScript实现带缓冲效果的随屏滚动漂浮广告代码
2015/11/06 Javascript
Javascript中indexOf()和lastIndexOf应用方法实例
2016/08/24 Javascript
jQuery树形插件jquery.simpleTree.js用法分析
2016/09/05 Javascript
a标签置灰不可点击的实现方法
2017/02/06 Javascript
微信小程序实现无限滚动列表
2020/05/29 Javascript
puppeteer实现html截图的示例代码
2019/01/10 Javascript
JS中的算法与数据结构之常见排序(Sort)算法详解
2019/08/16 Javascript
vue  elementUI 表单嵌套验证的实例代码
2019/11/06 Javascript
在Vue中使用this.$store或者是$route一直报错的解决
2019/11/08 Javascript
详解Vue3中对VDOM的改进
2020/04/23 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
Javascript实现秒表计时游戏
2020/05/27 Javascript
[06:53]DOTA2每周TOP10 精彩击杀集锦vol.3
2014/06/25 DOTA
Python实现的生产者、消费者问题完整实例
2018/05/30 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
python f-string式格式化听语音流程讲解
2019/06/18 Python
Python Print实现在输出中插入变量的例子
2019/12/25 Python
python 将html转换为pdf的几种方法
2020/12/29 Python
捷克家居装饰及图书音像购物网站:Velký košík
2018/04/16 全球购物
回门宴答谢词
2014/01/13 职场文书
优秀教师事迹简介
2014/02/02 职场文书
个人查摆剖析材料
2014/02/04 职场文书
奥巴马当选演讲稿
2014/09/10 职场文书
工厂员工辞职信范文
2015/05/12 职场文书
2016新教师培训心得体会范文
2016/01/08 职场文书
你对自己的信用报告有过了解吗?
2019/07/09 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
24年收藏2000多部退役军用电台
2022/02/18 无线电
Win10加载疑难解答时出错发生意外错误的解决方法
2022/07/07 数码科技