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 相关文章推荐
juqery 学习之三 选择器 简单 内容
Nov 25 Javascript
JavaScript内核之基本概念
Oct 21 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
May 03 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
JavaScript实现刷新不重记的倒计时
Aug 10 Javascript
JQuery判断radio单选框是否选中并获取值的方法
Jan 17 jQuery
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
Vue 样式切换及三元判断样式关联操作
Aug 09 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
Sep 21 Javascript
Vue3.0的优化总结
Oct 16 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
Nov 19 Vue.js
11个Javascript小技巧帮你提升代码质量(小结)
Dec 28 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
新浪SAE云平台下使用codeigniter的数据库配置
2014/06/12 PHP
Yii框架引用插件和ckeditor中body与P标签去除的方法
2017/01/19 PHP
thinkphp 抓取网站的内容并且保存到本地的实例详解
2017/08/25 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
2018/03/15 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
jQuery的初始化与对象构建之浅析
2011/04/12 Javascript
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
Js四则运算函数代码
2012/07/21 Javascript
js显示时间 js显示最后修改时间
2013/01/02 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
去除字符串左右两边的空格(实现代码)
2016/05/12 Javascript
详解基于vue-router的动态权限控制实现方案
2017/09/28 Javascript
JavaScript原型对象、构造函数和实例对象功能与用法详解
2018/08/04 Javascript
如何将HTML字符转换为DOM节点并动态添加到文档中详解
2018/08/19 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
微信小程序左滑删除实现代码实例
2019/09/16 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
[01:59][TI9趣味视频] 全明星赛奖励
2019/08/23 DOTA
python WindowsError的错误代码详解
2017/07/23 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
Python3内置模块之base64编解码方法详解
2019/07/13 Python
Python + selenium + crontab实现每日定时自动打卡功能
2020/03/31 Python
Python实现UDP程序通信过程图解
2020/05/15 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
python基于opencv 实现图像时钟
2021/01/04 Python
python UIAutomator2使用超详细教程
2021/02/19 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
给定一个时间点,希望得到其他时间点
2013/11/07 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
文明家庭先进事迹材
2014/01/27 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python