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 相关文章推荐
Raphael带文本标签可拖动的图形实现代码
Feb 20 Javascript
jQuery插件分享之分页插件jqPagination
Jun 06 Javascript
jQuery层级选择器用法分析
Feb 10 Javascript
jQuery处理json数据返回数组和输出的方法
Mar 11 Javascript
关于JS变量和作用域详解
Jul 28 Javascript
AngularJs bootstrap搭载前台框架——准备工作
Sep 01 Javascript
jquery延迟对象解析
Oct 26 Javascript
AngularJS中update两次出现$promise属性无法识别的解决方法
Jan 05 Javascript
深入探究AngularJs之$scope对象(作用域)
Jul 20 Javascript
如何开发出更好的JavaScript模块
Dec 22 Javascript
使用node打造自己的命令行工具方法教程
Mar 26 Javascript
基于JavaScript获取url参数2种方法
Apr 17 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
40年前的这部特摄片恐龙特级克塞号80后的共同回忆
2020/03/08 日漫
国内咖啡文化
2021/03/03 咖啡文化
PHP 透明水印生成代码
2012/08/27 PHP
CodeIgniter框架中_remap()使用方法2例
2014/03/10 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
ThinkPHP中的三大自动简介
2014/08/22 PHP
thinkPHP框架实现的短信接口验证码功能示例
2018/06/20 PHP
PHP时间处理类操作示例
2018/09/05 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
css值转换成数值请抛弃parseInt
2011/10/24 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
jQuery中的ajax async同步和异步详解
2015/09/29 Javascript
JS打印组合功能
2016/08/04 Javascript
使用jQuery实现一个类似GridView的编辑,更新,取消和删除的功能
2017/03/15 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
使用Bootstrap4 + Vue2实现分页查询的示例代码
2017/12/21 Javascript
浅谈vue中改elementUI默认样式引发的static与assets的区别
2018/02/03 Javascript
node中间层实现文件上传功能
2018/06/11 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
JavaScript实现动态留言板
2020/03/16 Javascript
[04:29]2014DOTA2国际邀请赛 主赛事第三日TOPPLAY
2014/07/21 DOTA
详解Python中的各种函数的使用
2015/05/24 Python
Python 实现数据结构-堆栈和队列的操作方法
2019/07/17 Python
python使用matplotlib绘制雷达图
2019/10/18 Python
Python多继承以及MRO顺序的使用
2019/11/11 Python
python 解决函数返回return的问题
2020/12/05 Python
马来西亚演唱会订票网站:StubHub马来西亚
2018/10/18 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
银行实习自我鉴定
2013/10/12 职场文书
大学军训感言
2014/01/10 职场文书
品牌推广活动策划方案
2014/08/19 职场文书
青春励志演讲稿范文
2014/08/25 职场文书
丽江古城导游词
2015/02/03 职场文书
大学迎新生欢迎词
2015/09/29 职场文书
《春酒》教学反思
2016/02/22 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python