vue-router之实现导航切换过渡动画效果


Posted in Javascript onOctober 31, 2019

过渡动效

提供了transition的封装组件,添加过渡动画,通过添加或删除css类名来实现。

过渡的css类名:

v-enter

进入过渡的开始状态

v-enter-active

进入活动状态

v-enter-to

进入的结束状态

v-leave

离开过渡的开始状态

v-leave-active

离开活动状态

v-leave-to

离开结束状态

过渡模式:

in-out

先进后出

out-in

先出后进

用法:

做一个淡隐淡出效果

把想要运动的元素放到<transition></transition>里面,设置模式。

<transition mode="out-in">
 <router-view class="center"></router-view>
</transition>

在style里写动效:

.v-enter{
 opacity: 0;
}
.v-enter-active{
 transition: 0.5s;
}
.v-enter-to{
 opacity: 1;
}
.v-leave{
 opacity: 1;
}
.v-leave-to{
 opacity:0;
}
.v-leave-active{
 transition: 0.5s;
}

就ok啦!

动态设置name

再做一个x轴向左和向右滑动进入消失效果。

.left-enter{
 transform:translateX(100%);
}
.left-enter-to{
 transform:translateX(0);
}
 
.left-enter-active{
 transition: 1s;
}
.left-leave{
 transform:translateX(0);
}
.left-leave-to{
 transform:translateX(-100%);
}
.left-leave-active{
 transition: 1s;
}

在transition标签中用name动态设置效果。此时要删掉mode="out-in"能自然衔接。

<transition name="left">
  <!--<router-view name="slider"></router-view>-->
  <router-view class="center"></router-view>
 </transition>

向右切换:

.right-enter{
 transform:translateX(-100%);
 }
 .right-enter-active{
 transition: 1s;
 }
 .right-leave-to{
 transform:translateX(100%);
 }
 .right-leave-active{
 transition: 1s;
 }

要想实现左边的向左,右边的向右切换呢

路由元信息

在路由配置中meta可以配置一些数据,用在路由对象中。

访问meta中的数据:$route.meta

也就是说,除了提供的路由配置信息,我们还可以通过meta来自定义想要的数据。

实现左边的向左,右边的向右切换:

step1:给每个组件分别加上index,如果目标路由的index大就向右滑动,否则向左。

meta:{
  index:0
  }

0,1,2,3这样。

step2:监控路由信息对象(上一篇文章中讲过原因),可以拿到离开的和目标的index

watch:{
 $route(to,from){
 console.log(to.meta.index);//目标导航下标
 console.log(from.meta.index);//离开导航下标
 }
}

step3:拿下标,比较设置class名称

watch:{
 $route(to,from){
  if(to.meta.index<from.meta.index){
  this.names="right"
  }else{
  this.names="left"
  }
 }
 },
 data(){
 return{
  index:'/home',
  names:'left'
 }
 }

以上这篇vue-router之实现导航切换过渡动画效果就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
几款极品的javascript压缩混淆工具
May 16 Javascript
JavaScript网页制作特殊效果用随机数
May 22 Javascript
W3C Group的JavaScript1.8 新特性介绍
May 19 Javascript
JavaScript ECMA-262-3 深入解析.第三章.this
Sep 28 Javascript
使用js判断TextBox控件值改变然后出发事件
Mar 07 Javascript
AngularJS 输入验证详解及实例代码
Jul 28 Javascript
JS简单实现仿百度控制台输出信息效果
Sep 04 Javascript
AngularJS service之select下拉菜单效果
Jul 28 Javascript
Vue实现调节窗口大小时触发事件动态调节更新组件尺寸的方法
Sep 15 Javascript
详解Vue.js 作用域、slot用法(单个slot、具名slot)
Oct 15 Javascript
node.js中process进程的概念和child_process子进程模块的使用方法示例
Feb 11 Javascript
微信小程序连续签到7天积分获得功能的示例代码
Aug 20 Javascript
使用vue-router切换页面时实现设置过渡动画
Oct 31 #Javascript
Vue防止白屏添加首屏动画的实例
Oct 31 #Javascript
vue弹出框组件封装实例代码
Oct 31 #Javascript
使用zrender.js绘制体温单效果
Oct 31 #Javascript
初学vue出现空格警告的原因及其解决方案
Oct 31 #Javascript
selenium+java中用js来完成日期的修改
Oct 31 #Javascript
VUE DEMO之模拟登录个人中心页面之间数据传值实例
Oct 31 #Javascript
You might like
简单的php写入数据库类代码分享
2011/07/26 PHP
php的$_FILES的临时储存文件与回收机制实测过程
2013/07/12 PHP
Yii查询生成器(Query Builder)用法实例教程
2014/09/04 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
PHP Class SoapClient not found解决方法
2018/01/20 PHP
laravel5.0在linux下解决.htaccess无效和去除index.php的问题
2019/10/16 PHP
在laravel中实现将查询的对象转换为多维数组的函数
2019/10/21 PHP
(jQuery,mootools,dojo)使用适合自己的编程别名命名
2010/09/14 Javascript
js作用域及作用域链概念理解及使用
2013/04/15 Javascript
jquery解析xml字符串示例分享
2014/03/25 Javascript
JSON格式化输出
2014/11/10 Javascript
jQuery源码解读之removeAttr()方法分析
2015/02/20 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
bootstrap折叠调用collapse()后data-parent不生效的快速解决办法
2017/02/23 Javascript
Angular实现的日程表功能【可添加及隐藏显示内容】
2017/12/27 Javascript
详解Nuxt.js部署及踩过的坑
2018/08/07 Javascript
layui实现二维码弹窗、并下载到本地的方法
2019/09/25 Javascript
vue和H5 draggable实现拖拽并替换效果
2020/07/29 Javascript
Python序列操作之进阶篇
2016/12/08 Python
python 给DataFrame增加index行名和columns列名的实现方法
2018/06/08 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
Python Matplotlib简易教程(小白教程)
2020/07/28 Python
如何用python免费看美剧
2020/08/11 Python
python将YUV420P文件转PNG图片格式的两种方法
2021/01/22 Python
人事专员的职责
2014/02/26 职场文书
宣传口号大全
2014/06/16 职场文书
班级学习雷锋活动总结
2014/07/04 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
2014年教师工作总结
2014/11/10 职场文书
2014年客房部工作总结
2014/11/22 职场文书
八达岭长城导游词
2015/01/30 职场文书
班主任高考寄语
2015/02/26 职场文书
2016年猴年新春致辞
2015/08/01 职场文书
助学金申请书该怎么写?
2019/07/16 职场文书
React中的Context应用场景分析
2021/06/11 Javascript