十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
小编给大家分享一下如何使用vue.js实现轮播,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
成都创新互联专业为企业提供六安网站建设、六安做网站、六安网站设计、六安网站制作等企业网站建设、网页设计与制作、六安企业网站模板建站服务,10年六安做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。使用vue.js实现轮播的方法:首先使用“
”将相应的元素包裹住;然后在“.imgShoudMove”中设置动画属性;最后采用Vue结合Css3来实现轮播图即可。
首先要了解的是Vue的动画原理。在vue中,如果我们要给元素设置动画效果,则需要使用一个
之后,便可以在.imgShoudMove中设置动画属性了,如下:
.imgShouldMove-enter{ transition: all 0.5s; } .imgShouldMove-enter-active{ transform:translateX(900px); }
注意在HTML中,这里有一个v-if="shoudShow"属性。shouldShow这个属性是在data(){}中设置的,当shouldShow从false-->true时(即img从无到突然出现时),
Vue动画原理将动画分为了 shouldShouldMove-enter 和 imgShouldMove-enter-active 两个阶段。
其中 shouldShouldMove-enter 表示动画开始的初始状态, imgShouldMove-enter-active 这表示动画的终止状态。而动画的触发则是通过if-show引起的。
示例:
HTML代码:
Script代码:
与动画相关的css代码如下
.carousel-trans-toright-enter-active, .carousel-trans-toright-old-leave-active{ transition:all 0.5s; } .carousel-trans-toright-enter{ transform:translateX(940px); //新图片从右侧940px进入 } .carousel-trans-toright-old-leave-active{ transform:translateX(-940px); //老图片向左侧940px出去 } .carousel-trans-toleft-enter-active, .carousel-trans-toleft-old-leave-active{ transition:all 0.5s; } .carousel-trans-toleft-enter{ transform:translateX(-940px); //新图片从右侧940px进入 } .carousel-trans-toleft-old-leave-active{ transform:translateX(940px); //老图片向左侧940px出去 }
注意:对于需要放在
在每次切换的时候,都要触发goto()方法,将this.isShow先置false,10毫秒后,this.isShow置true。这时,html中的
在向前、向后切换的时候,使用到了计算属性,在div.prevBtn以及div.nextBtn上,我们作了点击事件绑定,触发方法goto(),而传入的正是计算属性prevIndex, @click="goto(prevIndex)"
计算属性的设定方法如下:
computed:{ prevIndex(){ //经过一番计算过程得出result return result //这个值即中的prevIndex } },
每隔2秒自动滑动时,我们向left滑动,在data中,设定了变量 direction ,它的值要么为字符串'toleft',要么为'toright'。
我们在计算属性中对 this.direction 进行了设置,并在中对相应的name进行了字符串拼接,如下
在vue中,除了class和style可以传入对象、数组,其他的属性绑定必须进行字符串拼接。
看完了这篇文章,相信你对如何使用vue.js实现轮播有了一定的了解,想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!