如何使用vue.js实现轮播

  介绍

小编给大家分享一下如何使用vue.js实现轮播,希望大家阅读完这篇文章后大所收获、下面让我们一起去探讨吧!

使用vue.js实现轮播的方法:首先使用“& lt;过渡的名字=皌argetClassName"祝辞”将相应的元素包裹住,然后在“.imgShoudMove”中设置动画属性,最后采用Vue结合Css3来实现轮播图即可。

首先要了解的是Vue的动画原理,在Vue中,如果我们要给元素设置动画效果,则需要使用一个& lt;过渡name=皌argetClassName"祝辞& lt;/transition>将相应的元素包裹住,如下:

& lt;过渡name=癷mgShouldMove"比;   & lt; img v=皊houldShow"src=https://www.yisu.com/zixun/"/1. jpg”>   

之后,便可以在。imgShoudMove中设置动画属性了,如下:

.imgShouldMove-enter {   过渡:所有0.5年代;   }   .imgShouldMove-enter-active {   变换:translateX (900 px);   }

注意在HTML中,这里& lt; img>有一个v=皊houdShow"属性.shouldShow这个属性是在数据(){}中设置的,当shouldShow从错误——在真实时(即img从无到突然出现时),

Vue动画原理将动画分为了shouldShouldMove-enter和imgShouldMove-enter-active两个阶段。

其中shouldShouldMove-enter表示动画开始的初始状态,imgShouldMove-enter-active这表示动画的终止状态。而动画的触发则是通过假如呈引起的。

示例:

HTML代码:

& lt; template>   & lt; div类=癱arousel"@mouseenter=癱learInv ()“;@mouseleave=皉unInterval()“比;   & lt; div类=癷mgBox"祝辞   & lt;: href=https://www.yisu.com/zixun/"图片currentIndex .href”rel="外部nofollow”>   <过渡v-bind: name=" carousel-trans——“+方向+孩子”>   真   取反后:真->假(从显示到消失)- ->      过渡   <过渡v-bind: name=" carousel-trans - +方向”>   真- ->         过渡      
  

{{照片[currentIndex] .title}}

  {{指数+ 1}}      
  
  
     脚本代码:   <脚本>   出口默认{   道具:{   图片:{   类型:数组,   默认值:[]   },   timeDelta: {   类型:数字,   默认值:2000   }   },   数据(){   返回{   currentIndex: 0,   isShow:没错,   方向:“toleft”   }   },   计算:{   prevIndex () {   这一点。方向=' toleft '   如果这一点。currentIndex <=0) {   this.pics返回。长度- 1   }   返回。currentIndex - 1   },   nextIndex () {   这一点。方向='到右'   如果这一点。currentIndex>=this.pics。长度- 1){   返回0   }   返回。currentIndex + 1   }   },   方法:{   转到(指数){   这一点。isShow=false   setTimeout (()=> {   这一点。isShow=true   这一点。currentIndex=指数   },10)      },   runInterval () {   这一点。方向='到右'   这一点。计时器=setInterval (()=> {   this.goto (this.nextIndex)   },this.timeDelta)   },   clearInv () {   clearInterval (this.timer)   }   },   安装(){   this.runInterval ()   }   }   

与动画相关的css代码如下

.carousel-trans-toright-enter-active,   .carousel-trans-toright-old-leave-active {   过渡:所有0.5年代;   }   .carousel-trans-toright-enter {   变换:translateX (940 px);//新图片从右侧940 px进入   }   .carousel-trans-toright-old-leave-active {   变换:translateX (-940 px);//老图片向左侧940 px出去   }   .carousel-trans-toleft-enter-active,   .carousel-trans-toleft-old-leave-active {   过渡:所有0.5年代;   }   .carousel-trans-toleft-enter {   变换:translateX (-940 px);//新图片从右侧940 px进入   }   .carousel-trans-toleft-old-leave-active {   变换:translateX (940 px);//老图片向左侧940 px出去   }

注意:对于& lt; img>需要放在& lt; box>里面,& lt; box>需要设置为位置:相对;而& lt; img>必须设置为位置:绝对;这步非常非常重要,否则每次莫名其妙的总是只有一张图片显示。

如何使用vue.js实现轮播