老师请问better-scroll中的一个问题,关于开启loop后的页码问题,代码如下

来源:4-5 轮播图组件实现(中)

wangao4321

2017-11-28

_onScrollEnd() {    

       let pageIndex = this.slider.getCurrentPage().pageX    

       if (this.loop) {    

         pageIndex -= 1    

       }    

       this.currentPageIndex = pageIndex    

       if (this.autoPlay) {    

         this._play()    

       }    

     },    

     _initDots() {    

       this.dots = new Array(this.children.length)    

     },    

     _play() {    

       let pageIndex = this.slider.getCurrentPage().pageX + 1    

       clearTimeout(this.timer)    

       this.timer = setTimeout(() => {    

         this.slider.goToPage(pageIndex, 0, 400)    

       }, this.interval)    

     }    

请问下,getCurrentPage().pageX是从0还是1开始的?

这里具体的是怎么和布局中的绑定的:class 中的currentPageIndex === index联动上的,index我知道是从0开始

我控制台查看了一下,知道了每个div前都有一个copy,一共是7个,所以index是从0到吗,这里面老师能不能详细解答

一下,我非常困惑

写回答

2回答

ustbhuangyi

2017-11-29

loop 的话前后会多复制一个 DOM。 getCurrentPage().pageX 是 0 开始的,但是如果设置了 loop,就是从 1 开始。所以会有以下逻辑

  if (this.loop) {    

         pageIndex -= 1    

       }    


0
5
ustbhuangyi
回复
小感冒
哈哈,是的,已经从内核方面做了优化了,避免使用者的麻烦
2017-12-24
共5条回复

wangao4321

提问者

2017-11-28

我控制台查看了一下,知道了每个div前都有一个copy,一共是7个,所以index是从0到6吗,这里面老师能不能详细解答,我少打了一个6

0
0

Vue2.0高级应用教学实战,开发企业级移动端音乐Web App

Vue.js高级知识应用大集合,实战企业级APP,教你搞定组件化开发。

5432 学习 · 3804 问题

查看课程