请问老师,轮播图如何实现自动播放,只用中间三个小圆点,没有加右侧按钮

来源:3-2 项目作业

叫我丽红

2021-07-19 19:27:12

/*

*轮播图特效

*日期:***年**月**日

*姓名:小慕工程师

*/

(function(){

    // 得到元素

    var banner = document.getElementById('banner');

    var carousel_list = document.getElementById('carousel_list');

    var circle_ol = document.getElementById('circle_ol');

    var circle_lis = circle_ol.getElementsByTagName('li');

    // 克隆第一张

    var clone_li = carousel_list.firstElementChild.cloneNode(true);

    //上树

    carousel_list.appendChild(clone_li);

    //当前正在显示的图片序号,从0开始

   var idx = 0;

   //  节流锁:防止用户鼠标点击次数太多,系统发生错乱

   var lock = true;



    // 设置小圆点的cur属性

    function setCircles(){

        // 遍历

        for(var i = 0;i<= 2;i++){

            if (i == idx % 3){

                circle_lis[i].className = 'cur';

            }else{

                circle_lis[i].className = '';

            }

        }

    }


    // 事件委托

    circle_ol.onclick = function(e){

        if(e.target.tagName.toLowerCase() == 'li'){

            //得到li身上的data-n属性,就是n

            var n = Number(e.target.getAttribute('data-n'));

        }

        // 改变idx

        idx = n;

        //拉动

        carousel_list.style.transform = 'translateX(' + -16.66 * idx + '%)';

        //调用改变小圆点函数

        setCircles();


    }

    




})();


写回答

1回答

好帮手慕久久

2021-07-20

同学你好,老师给你提供一下思路,同学自己实现一下:

可以将轮播图位置改变与小点样式切换的代码,封装成一个函数;然后开启一个定时器,每间隔一段时间就调用一下该方法,就可以实现自动轮播,例如:

http://img.mukewang.com/climg/60f62ffb093c3b2010220764.jpg

如果同学自己实现不出来,可以提交作业,批复作业的老师,会按照同学的代码,为同学补齐功能并优化的。

祝学习愉快!

0

0 学习 · 15276 问题

查看课程