轮播图快速切换闪动怎么办?
轮播图循环切换闪动问题详解
在使用 translate3d 进行轮播图的循环切换时,当快速连续点击切换按钮,可能会出现图片闪动的问题。
该问题产生的原因是:在切换到最后一页时,由于图片需要重新回到第一页,因此需要一个短暂的过渡动画。而快速连续点击会导致本次动画还没有结束,就又触发了下次动画,从而导致了闪烁。
解决方法:
修改 changecur 方法,在循环切换时,加入一个额外的判断。当切换到最后一页时,手动将过渡时长设置为 0,然后设置当前页码为 0,然后再将过渡时长恢复为正常值,并设置当前页码为 1。这样就可以避免在最后一页切换时出现闪烁的情况。
修改后的 changecur 方法:
changeCur(add){ // ...原有代码 if (add && cur === this.num) { this.con.style.transitionDuration = '0s'; this.setCur(0); this.con.offsetWidth; this.con.style.transitionDuration = '.3s'; this.setCur(1); } else if (!add && cur === 1) { this.con.style.transitionDuration = '0s'; this.setCur(this.num + 1); this.con.offsetWidth; this.con.style.transitionDuration = '.3s'; this.setCur(this.num); } else { // ...原有代码 } }
以上就是轮播图快速切换闪动怎么办?的详细内容,更多请关注其它相关文章!