本文介绍如何将单张图片切换逻辑升级为支持任意数量图片的循环切换,使用数组存储图片路径并结合取模运算实现无缝轮播,代码简洁可扩展。
在实际开发中,仅切换两张图片(如深色/浅色主题对应图)往往不够灵活。若需支持三张、五张甚至更多图片的顺序轮播,硬编码 if/else 判断会迅速变得冗长且难以维护。更优雅的解法是将所有图片路径统一存入数组,用索引控制切换逻辑。
核心思路是:
以下是优化后的完整示例代码:
@@##@@
const images = [
"images/ferrari.jpg",
"images/ferrariwhte.jpg",
"images/ferrari-red.jpg", // 新增第三张图
"images/ferrari-black.jpg" // 新增第四张图
];
const myBtn = document.getElementById("darktheme");
const img = document.getElementById("ferrarijs");
let counter = 0;
myBtn.addEventListener("click", function() {
counter = (counter + 1) % images.length;
img.src = images[counter];
});✅ 优势说明:
⚠️ 注意事项:
数索引。这种基于数组与取模的模式,是前端图片轮播、主题切换、幻灯片等场景的经典实践,兼顾简洁性与可维护性。