Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2 使用JavaScript数组构建可循环的图片轮播组件_创想鸟
next 和 prev 变量分别获取“下一张”和“上一张”按钮。slides 数组通过 […document.querySelectorAll(‘.slide’)] 获取所有幻灯片元素,并转换为一个真正的数组,方便后续操作。size 存储幻灯片总数。index 变量初始化为 0,表示当前显示的是第一张幻灯片。添加了一个检查以确保初始时第一张幻灯片确实有active类。
事件监听:
使用 .onclick 属性为 prev 和 next 按钮绑定点击事件。当按钮被点击时,会调用 move 函数,并传入相应的目标索引 (index – 1 或 index + 1)。
move 函数:核心切换逻辑
无限循环索引计算:
to = to >= size ? 0 : to < 0 ? size - 1 : to;
这是实现无限循环的关键。它是一个链式三元表达式:
to >= size ? 0 : …:如果计算出的 to 索引超出了幻灯片数组的范围(即大于或等于 size),说明用户点击了“下一张”且当前是最后一张,此时将 to 重置为 0(第一张幻灯片)。… : to 否则,to 保持不变,即按顺序切换。切换 active 类:slides[index].classList.toggle(“active”);:移除当前(旧的)幻灯片的 active 类,使其隐藏。slides[to].classList.toggle(“active”);:为目标(新的)幻灯片添加 active 类,使其显示。更新 index:index = to;:将全局的 index 更新为新的幻灯片索引,以便下次点击时能正确计算。