interval参数控制轮播图自动切换间隔,单位毫秒;值越小切换越快,0或false禁用自动播放;Swiper需在autoplay.delay中设置,Bootstrap 5优先读取data-bs-interval属性,手写时推荐setTimeout链式调用。
interval 参数控制切换间隔绝大多数 HTML 轮播图(如 Bootstrap、Swiper、原生 JS 实现)都通过一个叫 interval 的参数控制自动切换速度,单位是毫秒。值越小切换越快,比如 3000 表示 3 秒切一张,1500 就是 1.5 秒。
注意:这个参数名不绝对统一——Bootstrap 5 用 interval,Swiper 用 autoplay.delay,有些轻量库可能叫 speed 或 duration,但语义一致:「下一张等多久」。
interval: 0 或 false 通常表示禁用自动播放500 以下容易引发用户操作困难,尤其在移动端pauseOnHover,鼠标悬停时计时器会暂停,移开后从剩余时间继续(不是重置)autoplay.delay 的写法Swiper v8+ 的 autoplay 是独立模块,必须显

delay 控制速度。漏掉 delay 会导致默认 3000ms,且无法覆盖。
const swiper = new Swiper('.swiper', {
autoplay: {
delay: 2500, // ← 关键:这里改数字
disableOnInteraction: false
},
loop: true
});
delay 必须是数字,不能是字符串("2500" 会失效)pauseOnMouseEnter: true,记得确认它和 disableOnInteraction 不冲突swiper.autoplay.start() 或 swiper.autoplay.stop() 配合重设Bootstrap 5 的 data-bs-interval 属性只对初始化生效;JS 初始化时传入的 interval 选项优先级更高,但 DOM 属性仍会覆盖 JS 选项 —— 如果两者同时存在且冲突,以 DOM 属性为准。
...
data-bs-interval="4000" 最简单,适合静态页面new bootstrap.Carousel(..., { interval: 4000 }) 更灵活,适合动态场景myCarousel._config.interval = 4000(不推荐),或销毁重建setTimeout 和 setInterval 搞混很多自研轮播图用 setInterval 启动定时器,但切换逻辑耗时(如动画未结束就触发下一次)会导致节奏错乱。更稳的做法是用 setTimeout 链式调用,在每次切换完成后再设下一次。
function startAutoPlay() {
slideToNext();
timeoutId = setTimeout(startAutoPlay, 3000); // ← 切完才设下一次
}
function stopAutoPlay() {
clearTimeout(timeoutId);
}
setInterval 时,务必在切换前 clearInterval 再 setInterval,否则计时器会叠加transition 时,setTimeout 延迟应 ≥ transition 持续时间,否则视觉跳变