禾呈kim 2021-11-20 14:03 采纳率: 100%
浏览 66
已结题

JS做轮播图起步遇到问题,可以教怎么改吗

  • 写回答

2条回答 默认 最新

  • CSDN专家-showbo 2021-11-20 16:41
    关注

    出现什么错误?最好贴出html代码,要不看这个代码看不出什么问题
    var a=pointer.querySelector('a')这个只返回第一个a元素,题主只有点击第一个元素才会执行click事件。猜测题主是不是获取所有的a,点击对应的a进行样式切换?

    如果是应该获取所有的a绑定click事件。要不只有一个a有click事件,点击这个a就只有一个效果,永远这个a获取current样式效果,其他都没有。

    img

    <div class="txt-bg">
        <div class="pointer">
            <a>A-Click Me 1</a> 
            <a>A-Click Me 2</a> 
            <a>A-Click Me 3</a> 
            <a>A-Click Me 4</a>
        </div>
    </div>
    <style>.current{color:#f00}</style>
    <script>
        window.addEventListener('load', function () {
            let txt_bg = document.getElementsByClassName("txt-bg")[0]
            var pointer = txt_bg.querySelector('.pointer');
            var as = pointer.querySelectorAll('a');
            pointer.children[0].className = 'current';
            for (var i = 0; i < as.length; i++)
                as[i].addEventListener('click', function () {
                    for (var i = 0; i < pointer.children.length; i++) {
                        pointer.children[i].className = 'no';
                    }
                    this.className = 'current';
                })
        });
    </script>
    
    

    有帮助麻烦点下【采纳该答案】,谢谢~~有其他问题可以继续交流~

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 11月28日
  • 已采纳回答 11月20日
  • 修改了问题 11月20日
  • 创建了问题 11月20日