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 相关文章推荐
关于hashchangebroker和statehashable的补充文档
Aug 08 Javascript
PHP+jQuery实现随意拖动层并即时保存拖动位置
Apr 30 Javascript
JS中产生标识符方式的演变
Jun 12 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
Angular的$http与$location
Dec 26 Javascript
利用Javascript实现简单的转盘抽奖
Feb 13 Javascript
深入理解Node.js中的进程管理
Mar 13 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
Mar 30 Javascript
Node.js中sequelize时区的配置方法
Dec 10 Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
Apr 16 Javascript
微信小程序实现分页加载效果
Nov 19 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手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
php 生成自动创建文件夹并上传文件的示例代码
2014/03/07 PHP
PHP实现的汉字拼音转换和公历农历转换类及使用示例
2014/07/01 PHP
php中error与exception的区别及应用
2014/07/28 PHP
php实现数组按指定KEY排序的方法
2015/03/30 PHP
jQuery获取和设置表单元素的方法
2014/02/14 Javascript
js动态修改整个页面样式达到换肤效果
2014/05/23 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
把Node.js程序加入服务实现随机启动
2015/06/25 Javascript
Javascript技术栈中的四种依赖注入小结
2016/02/27 Javascript
Web安全测试之XSS实例讲解
2016/08/15 Javascript
JavaScript定义函数的三种实现方法
2017/09/23 Javascript
Vue-cropper 图片裁剪的基本原理及思路讲解
2018/04/17 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
又拍云 Node.js 实现文件上传、删除功能
2018/10/28 Javascript
解决iview table组件里的 固定列 表格不自适应的问题
2020/11/13 Javascript
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
深入解析Python编程中JSON模块的使用
2015/10/15 Python
python对json的相关操作实例详解
2017/01/04 Python
python 计算两个日期相差多少个月实例代码
2017/05/24 Python
Python自然语言处理之词干,词形与最大匹配算法代码详解
2017/11/16 Python
运行django项目指定IP和端口的方法
2018/05/14 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
在Python中COM口的调用方法
2019/07/03 Python
python制作英语翻译小工具代码实例
2019/09/09 Python
基于python-pptx库中文文档及使用详解
2020/02/14 Python
Python logging自定义字段输出及打印颜色
2020/11/30 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
基于Html5实现的react拖拽排序组件示例
2018/08/13 HTML / CSS
深深扎根运动世界的生活品牌:Tillys
2017/10/30 全球购物
英国最好的温室之家:Greenhouses Direct
2019/07/13 全球购物
学习张林森心得体会
2014/09/10 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python
Python竟然能剪辑视频
2021/05/25 Python
HTML5之高度塌陷问题的解决
2022/06/01 HTML / CSS