Swiper组件疯狂抖动
发布于 6 年前 作者 guiyingzeng 8101 次浏览 来自 问答

如效果图,  首先快速切换tab栏目, 然后它自己就开始疯狂鬼畜, 来回切换

这里是演示的腾讯网的小程序, 我尝试了几个小程序都出现了这个问题,请官方给出解决方案.

6 回复

请问这个问题解决了吗

我们之前也有复现过这个问题 查下来猜测可能的原因是

事件堆积导致bingchange短时间内调用多次,current绑定了页面上的数据,又导致current不断被重设。

又导致bindchange被调用多次,所以swiper显得一直在快速抖动。

不过还是要综合代码去看

大概流程是这样:如果当前页面改变了之后,代码里面setdata改变了current,current绑定到了swiper上,如果current和swiper的当前页相同,这样做是没什么问题的。但是如果bindchange大量堆积,可能时序就会出错。

手速太快跟不上… 试了好几把没能复现

我是这么解决的:

bindHousePicSwipperItemChg(e) {

var now = new Date().getTime();

var total = now - this.data.lastSwipperItemChgTime

if (total >= 3000) /*interval=“3000”*/{

this.setData({

housePicSwipperCurIndex: e.detail.current,

lastSwipperItemChgTime: now,

})

}

},

不会啊,我每次试都会出现这个问题,只要稍微快一点就会出现这个问题,请再合适一下

因为图片大小限制,所以抖动演示的时间不是很长, 但是,如果出现了抖动,他会一直抖动下去,不会停歇,仿佛吃了XX

回到顶部