/vue-simple-swiper

a simple vue swiper

Primary LanguageVueMIT LicenseMIT

vue-simple-swiper v1.0

a simple vue swiper

step1:npm install step2:npm run dev

see demo

API params

paramsdescriptiondefault
directionslide change direction vertical|horizontal
paginationVisiblepagination displayfalse|true
loopslide can loopfalse|true
speedslide transform time(ms)500
performanceModeslide can change by finger movingfalse|true
autoPlayslide loop auto playfalse|true
initPageinit defalut page number1
timingslide transition-timing-functionease|ease-in|ease-out|...

API methods

methodsdescriptionparam
nextgo next page--
prevgo prev page--
setPagego intent pagepageNumber
updateSlideBindEventif you have asy function to get slides data, you must rebinding and reinit. you still can income param pageNumber set the init pagepageNumber

API events

eventsdescriptioncallback params
slideChangeStartstart change slide callbackpageNumber,el
slideChangeEndchange slide end callbackpageNumber,el
slideRevertStartnot change slide start callbackpageNumber,el
slideRevertEndnot change slide end callbackpageNumber,el
slideMoveslide move callbackoffset,el

API demos

<simple-swiper direction="horizontal" :paginationVisible="true">
	<div class="simple-swiper-silde"><span>page 1</span></div>
    <div class="simple-swiper-silde"><span>page 2</span></div>
    <div class="simple-swiper-silde"><span>page 3</span></div>
</simple-swiper>
<div class="title2">vertical</div>
<simple-swiper direction="vertical" :paginationVisible="false">
    <div class="simple-swiper-silde blue"><span>page 1</span></div>
    <div class="simple-swiper-silde red "><span>page 2</span></div>
    <div class="simple-swiper-silde yellow"><span>page 3</span></div>
</simple-swiper>
<div class="title2">horizontal loop</div>
 <simple-swiper direction="horizontal" :paginationVisible="true" :loop="true">
    <div class="simple-swiper-silde blue"><span>page 1</span></div>
    <div class="simple-swiper-silde red "><span>page 2</span></div>
    <div class="simple-swiper-silde yellow"><span>page 3</span></div>
</simple-swiper>
<div class="title2">horizontal autoplay</div>
<simple-swiper direction="horizontal" :autoPlay="2000" >
    <div class="simple-swiper-silde blue"><span>page 1</span></div>
    <div class="simple-swiper-silde red "><span>page 2</span></div>
    <div class="simple-swiper-silde yellow"><span>page 3</span></div>
</simple-swiper>
<div class="title2">asy data</div>
 <simple-swiper direction="vertical" :autoPlay="3000" ref="asyDemo">
    <div class="simple-swiper-silde" v-for="item in asyItems" :key="item.id">page{{item.name}}</div>
 </simple-swiper>

  mounted(){
       setTimeout(()=>{
            this.asyItems = [{'id':1,'name':1},{'id':2,'name':2},{'id':3,'name':3}]
            this.$refs.asyDemo.updateSlidesBindEvent();
       },300)
    }

Thanks for your attention and if you have problems, you can give me issues ~