swiper插件loop模式下图片索引显示错乱问题
问题:loop模式开启后由于首尾多复制一个silde,导致realIndex出现大于数组length的情况
swiper在做图片轮播时候还是蛮常见的,在使用过程中当设置为loop:true的时候,会发现轮播时候获取到的aactiveIndex是错乱的。
解决方案
方案一
百度上有人说,原因是当给swiper设置了loop:true的时候,会自动在dom元素中重复生成第一张和最后一张填充到swiper-wrapper中,所以索引会和实际图片轮播时候的索引值对应不上,这个时候只需要在每次轮播的时候,获取到它的realIndex即可,因为realIndex是不算复制出来的那两个dom元素索引的。
于是乎,我加了以下代码:
swiperOption: {
notNextTick: true,
direction : 'horizontal',
loop:true,
on: {
click: function() {
console.log(realIndex);
_this.toBannerDetail(_this.bannerList[realIndex])
}
},
onTap:(swiper)=>{
console.log(swiper.realIndex);
}
}
感觉一切都是那么一回事的,然而在实际验证时发现,呵。呵。。问题还在。。。我也不晓得这个有啥子用哦,反正我一开始就是这样写的。写完就有问题,这样改和没改又有什么区别呢。。。