插件-in地址:https://swipeerjs.com/
数十个项目自动旋转。组件滑动式稳定是显而易见的,并且旋转次数正常。
在旋转之前,渲染所有swiper-item,DOM元素一口气向DOM树呼吸。当闪烁体项目的数量很大时,DOM节点的内存会增加,而听力事件占据的记忆逐渐增加,Sothe Sothe滑动现象卡住了。
选项1:使用API中的Virtual来打开虚拟幻灯片功能。但是它不适合我们当前的无限旋转。注意到学术到虚拟幻灯片实现ITM。
选项2:尽可能简化窗口的窗口,尽可能地将其替换为空虚。当前的解决方案被使用。特定的实现:1。获取当前的旋转索引。
2.在旋转窗口,前沿和最后三个swiper-item附近加载DOM元素,以及其他空气更换。
为什么我需要在数组中保留最后一个和最后三个swiper-Intem?当前循环:正确的,无限的周期模式,Swiper复制了两个swiper-Item(SlideDuplicateClass),这些slideplicateclass已添加到原始的swiper-item,但是SlidePlicateClass是仅在初始化滑雪器时才渲染,然后动态显示窗口附近的DOM元素。无法更改SlideUplicateClass的DOM的结构,并且当最后一个旋转到最后一个时,将发生空气屏幕。
无限循环旋转的核心在于从头部和尾部出来的两张图片中。从图3的向后,它将滑到红色图片。在这个时代,当他滑到位置时,我们立即切换到粉红色图1(即真实的图片1),因为它是立即转换的,用户无法感知。
以相同的方式,图1与图3相同。
三张图片显示了查看窗口:在阵列中保留前三个swiper-item。在初始化时,slidduplicateclass具有相应的RenderItem。例如,当旋转索引是最后一个元素9时,下一个应为slideuplicateclass的索引= 0元素以解决空屏幕问题。
参考:
本地JS系列的无限圆形圆形广播组件
与前端绩效优化交谈