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 相关文章推荐
js中有关IE版本检测
Jan 04 Javascript
js 用CreateElement动态创建标签示例
Nov 20 Javascript
JavaScript 学习笔记之基础中的基础
Jan 13 Javascript
JavaScript获取页面中第一个锚定文本的方法
Apr 03 Javascript
利用bootstrapValidator验证UEditor
Sep 14 Javascript
JS获取多维数组中相同键的值实现方法示例
Jan 06 Javascript
vue中实现滚动加载更多的示例
Nov 08 Javascript
使用Vue.js开发微信小程序开源框架mpvue解析
Mar 20 Javascript
js中apply和Math.max()函数的问题及区别介绍
Mar 27 Javascript
angularJs提交文本框数据到后台的方法
Oct 08 Javascript
jQuery+vue.js实现的多选下拉列表功能示例
Jan 15 jQuery
微信小程序自定义弹出层效果
May 26 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多重接口的实现方法
2015/06/20 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
Yii框架数据模型的验证规则rules()被执行的方法
2016/12/02 PHP
PHP文件类型检查及fileinfo模块安装使用详解
2019/05/09 PHP
JavaScript对象模型-执行模型
2008/04/28 Javascript
Ext 今日学习总结
2010/09/19 Javascript
用javascript作一个通用向导说明
2011/08/30 Javascript
新发现一个骗链接的方法(js读取cookies)
2012/01/11 Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
2013/03/27 Javascript
jquery插件推荐 jquery.cookie
2014/11/09 Javascript
js表头排序实现方法
2015/01/16 Javascript
js使用cookie记录用户名的方法
2015/11/26 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
详解angular中如何监控dom渲染完毕
2017/01/03 Javascript
如何提高Dom访问速度
2017/01/05 Javascript
ionic中列表项增加和删除的实现方法
2017/01/22 Javascript
Js apply方法详解
2017/02/16 Javascript
搭建element-ui的Vue前端工程操作实例
2018/02/23 Javascript
Nodejs 和 Electron ubuntu下快速安装过程
2018/05/04 NodeJs
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
layui table 列宽百分比显示的实现方法
2019/09/28 Javascript
vue使用微信扫一扫功能的实现代码
2020/04/11 Javascript
前端开发基础javaScript的六大作用
2020/08/06 Javascript
Python学习资料
2007/02/08 Python
python之wxPython菜单使用详解
2014/09/28 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
[原创]使用豆瓣提供的国内pypi源
2017/07/02 Python
详解Matplotlib绘图之属性设置
2019/08/23 Python
Python+OpenCV实现将图像转换为二进制格式
2020/01/09 Python
新年福利来一波之Python轻松集齐五福(demo)
2020/01/20 Python
python和php哪个容易学
2020/06/19 Python
法学函授自我鉴定
2014/02/06 职场文书
2014国庆节主题活动方案:快乐的国庆节
2014/09/16 职场文书
2014年卫生工作总结
2014/11/27 职场文书
2014年测量员工作总结
2014/12/12 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript