html的导航栏的图片切换过渡,Vue-router之实现导航切换过渡动画效果_莺语_前端开发者...

过渡动效

提供了transition的封装组件,添加过渡动画,通过添加或删除

过渡的

v-enter  进入过渡的开始状态

v-enter-active  进入活动状态

v-enter-to  进入的结束状态

v-leave  离开过渡的开始状态

v-leave-active  离开活动状态

v-leave-to  离开结束状态

过渡模式:

in-out  先进后出

out-in  先出后进

用法:

做一个淡隐淡出效果

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

在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”能自然衔接。

向右切换:

.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

也就是说,除了提供的

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

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

this.names="right"

}else{

this.names="left"

}

}

},

data(){

return{

index:'/home',

names:'left'

}

}

以上这篇开发者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值