You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML实现双手动轮播图时点击切换小点功能失效问题咨询

问题根因

两组轮播的指示器小点统一使用了demo类名,JS中document.getElementsByClassName("demo")会全局匹配到所有6个小点,索引对应关系错位,导致点击小点时无法正确匹配到对应轮播的图片。

修改方案

1. 修改HTML的小点类名

给两组轮播的小点分别加上独立的类标识,原有样式类保留:
第一组轮播(索引为0)的小点类名改为:

<span class="w3-badge demo demo0 w3-border w3-transparent w3-hover-white" onclick="currentDiv(1, 0)"></span>
<span class="w3-badge demo demo0 w3-border w3-transparent w3-hover-white" onclick="currentDiv(2, 0)"></span>
<span class="w3-badge demo demo0 w3-border w3-transparent w3-hover-white" onclick="currentDiv(3, 0)"></span>

第二组轮播(索引为1)的小点类名改为:

<span class="w3-badge demo demo1 w3-border w3-transparent w3-hover-white" onclick="currentDiv(1, 1)"></span>
<span class="w3-badge demo demo1 w3-border w3-transparent w3-hover-white" onclick="currentDiv(2, 1)"></span>
<span class="w3-badge demo demo1 w3-border w3-transparent w3-hover-white" onclick="currentDiv(3, 1)"></span>

2. 修改JS代码

新增小点类名配置数组,调整showDivs方法的小点获取逻辑:

<script>
var slideIndex = [1,1];
var slideId = ["mySlides1", "mySlides2"]
var dotId = ["demo0", "demo1"] // 新增小点类名配置
showDivs(1, 0);
showDivs(1, 1);

function plusDivs(n, no) {
    showDivs(slideIndex[no] += n, no);
}

function currentDiv(n, no) {
    showDivs(slideIndex[no] = n, no);
}

function showDivs(n, no) {
    var i;
    var x = document.getElementsByClassName(slideId[no]);
    var dots = document.getElementsByClassName(dotId[no]); // 按对应轮播的小点类名获取

    if (n > x.length) {slideIndex[no] = 1}
    if (n < 1) {slideIndex[no] = x.length}
    for (i = 0; i < x.length; i++) {
        x[i].style.display = "none";  
    }
    for (i = 0; i < dots.length; i++) {
        dots[i].className = dots[i].className.replace(" w3-white", "");
    }
    x[slideIndex[no]-1].style.display = "block"; 
    dots[slideIndex[no]-1].className += " w3-white";
}
</script>

修改完成后点击小点即可正常切换对应轮播的图片,原有的左右箭头切换功能不受影响。

内容的提问来源于stack exchange,提问作者Syirul Jo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 22:45:07