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 相关文章推荐
jQuery创建平滑的页面滚动(顶部或底部)
Feb 26 Javascript
ExtJS下书写动态生成的xml(兼容火狐)
Apr 02 Javascript
JavaScript利用正则表达式去除日期中的“-”
Jul 01 Javascript
Juery解决tablesorter中文排序和字符范围的方法
May 06 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
May 10 Javascript
js数组与字符串常用方法总结
Jan 13 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
详解VUE自定义组件中用.sync修饰符与v-model的区别
Jun 26 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
Vue可自定义tab组件用法实例
Oct 24 Javascript
JS实现判断移动端PC端功能
Feb 21 Javascript
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
使用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
农民C键的运用技巧
2020/03/04 星际争霸
中国站长站 For Dede4.0 采集规则
2007/05/27 PHP
介绍一些PHP判断变量的函数
2012/04/24 PHP
php之Memcache学习笔记
2013/06/17 PHP
yii2利用自带UploadedFile实现上传图片的示例
2017/02/16 PHP
自动更新作用
2006/10/08 Javascript
jqGrid随窗口大小变化自适应大小的示例代码
2013/12/28 Javascript
JavaScript插件化开发教程 (一)
2015/01/27 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
JS实现的系统调色板完整实例
2016/12/21 Javascript
mock.js实现模拟生成假数据功能示例
2019/01/15 Javascript
使用Angular Cli如何创建Angular私有库详解
2019/01/30 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
2019/03/08 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
Python学习笔记之os模块使用总结
2014/11/03 Python
详解Python中列表和元祖的使用方法
2015/04/25 Python
在Python中使用HTML模版的教程
2015/04/29 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
Python OpenCV调用摄像头检测人脸并截图
2020/08/20 Python
Python3安装pip工具的详细步骤
2019/10/14 Python
基于Python+Appium实现京东双十一自动领金币功能
2019/10/31 Python
python将三维数组展开成二维数组的实现
2019/11/30 Python
django中的数据库迁移的实现
2020/03/16 Python
Python子进程subpocess原理及用法解析
2020/07/16 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
python中xlutils库用法浅析
2020/12/29 Python
南威尔士家居商店:Leekes
2016/10/25 全球购物
Merchant 1948澳大利亚:新西兰领先的鞋类和靴子供应商
2018/03/24 全球购物
上课迟到检讨书100字
2014/01/11 职场文书
安全保证书格式
2015/02/28 职场文书
签字仪式主持词
2015/07/03 职场文书
2015年秋季校长开学典礼致辞
2015/07/29 职场文书
教师法制教育培训学习心得体会
2016/01/14 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
vue/cli 配置动态代理无需重启服务的方法
2022/05/20 Vue.js