vue 实现无限轮播_vue使用better-scroll实现无缝轮播图

1,如果better-scroll的版本是 "better-scroll": "^0.1.15"时,即低版本时

对于BScroll的配置如下new BScroll(this.$refs.slider, {

scrollX:true,

scrollY:false,

momentum:false,

snap:true,

snapLoop:this.loop,

snapThreshold:0.3,

snapSpeed:400})

在自动播放的方法中写this.slider.goToPage(pageIndex, 0, 400)

完整代码如下

_initSlider() {this.slider = new BScroll(this.$refs.slider, {

scrollX:true,

scrollY:false,

momentum:false,

snap:true,

snapLoop:this.loop,

snapThreshold:0.3,

snapSpeed:400})this.slider.on('scrollEnd', () =>{

let pageIndex= this.slider.getCurrentPage().pageXif (this.loop) {

pageIndex-= 1}this.currentPageIndex =pageIndexif (this.autoPlay) {this._play()

}

})this.slider.on('beforeScrollStart', () =>{if (this.autoPlay) {

clearTimeout(this.timer)

}

})

},

_play() {

let pageIndex= this.currentPageIndex + 1

if (this.loop) {

pageIndex+= 1}this.timer = setTimeout(() =>{this.slider.goToPage(pageIndex, 0, 400)

},this.interval)

}2,如果better-scroll的版本是新版本的话 "better-scroll": "^1.10.2",

BScroll的配置如下new BScroll(this.$refs.slider, {

scrollX:true,

scrollY:false,

momentum:false,

snap: {

loop:this.loop,

threshold:0.3,

speed:400},

click:true});即snap要写成对象的形式,在自动播放中的配置要把goToPage(pageIndex,0, 400)换成next()并且把scrollEnd中的if (this.loop) {

pageIndex-= 1}

去掉,防止小圆点和图片对不上

完整代码如下

initSlider() {this.slider = new BScroll(this.$refs.slider, {

scrollX:true,

scrollY:false,

momentum:false,

snap: {

loop:this.loop,

threshold:0.3,

speed:400},

click:true});this.slider.on("scrollEnd", () =>{

let pageIndex= this.slider.getCurrentPage().pageX;this.currentPageIndex =pageIndex;if (this.autoPlay) {

clearTimeout(this.timer);this._Play();

}

});

},

_Play() {

let pageIndex= this.currentPageIndex + 1;if (this.loop) {

pageIndex+= 1;

}this.timer = setInterval(() =>{this.slider.next()

},this.interval);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值