轮播图(carousel)滑动显示随机图片,需改为按代码添加顺序展示
解决方案:修复轮播滑块的顺序展示问题
我来帮你搞定这个轮播随机图片的问题!你的代码里其实就两个小问题,调整后就能让图片按你设定的顺序乖乖滑动了:
1. 修正轮播容器的选择器不匹配问题
你JavaScript代码里初始化的是#myCarousel,但HTML里的轮播容器ID明明是#myCarousel3啊!这就导致你的自定义配置完全没作用到目标轮播上,相当于白写了,这是核心问题。
把JS里的初始化选择器改成和HTML匹配的:
// 原来的错误写法 // $('#myCarousel').carousel({ interval: 000, }) // 修正后的写法 $('#myCarousel3').carousel({ interval: 0 }) // 000其实就是0,直接写0更规范
2. 确认克隆逻辑保持顺序
你当前的克隆内容逻辑本身是按顺序来的——每次把下一个item的内容克隆到当前item里,循环到末尾就回到第一个,这个逻辑没问题,能保证图片按你HTML里的顺序(dell → acer → asus → dell → acer...)循环展示。但之前因为选择器错误,这个逻辑没正确执行,才出现了随机的错觉。
修正后的完整JavaScript代码
$('#myCarousel3').carousel({ interval: 0 }) $('.carousel .item').each(function(){ var next = $(this).next(); if (!next.length) { next = $(this).siblings(':first'); } next.children(':first-child').clone().appendTo($(this)); for (var i=0;i<2;i++) { next=next.next(); if (!next.length) { next = $(this).siblings(':first'); } next.children(':first-child').clone().appendTo($(this)); } });
额外小优化
HTML里的data-interval="000"也可以改成data-interval="0",和JS配置保持一致,代码更规范。
调整完之后,你的轮播就会严格按照你在HTML里定义的图片顺序循环切换,再也不会出现随机图片的情况啦!
内容的提问来源于stack exchange,提问作者Harsh
相关产品推荐
相关产品推荐

