我正在使用Swiper(无jQuery,纯JavaScript)显示11张幻灯片。我想background-color
根据用户所在的幻灯片来更改主体。
这段代码可以正常工作,但是当滑块重新启动时,它将保留最后一张幻灯片的颜色,而不是从第一张幻灯片重新开始:
swiper.on('transitionEnd', function(e) {
if (this.activeIndex == 1) {
document.querySelector("body").style.background = '#F4F1C1';
}
if (this.activeIndex == 2) {
document.querySelector("body").style.background = '#DCDDDE';
}
if (this.activeIndex == 3) {
document.querySelector("body").style.background = '#ECEBDF';
}
if (this.activeIndex == 4) {
document.querySelector("body").style.background = '#F2E3E3';
}
if (this.activeIndex == 5) {
document.querySelector("body").style.background = '#D0EFF0';
}
});
在此JSFiddle上,您可以看到在幻灯片11之后,滑块返回到幻灯片1,但是颜色仍然#999999
不是#F4F1C1
。
为什么索引没有重新启动?
Swiper将其数组索引移位1。如文档中所示
因此,您正确地从索引开始,1
但没有考虑索引中的第11个项目12
您可以this.realIndex
根据文档使用来获取循环项的正确索引。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句