请问老师,轮播图如何实现自动播放,只用中间三个小圆点,没有加右侧按钮
来源: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
同学你好,老师给你提供一下思路,同学自己实现一下:
可以将轮播图位置改变与小点样式切换的代码,封装成一个函数;然后开启一个定时器,每间隔一段时间就调用一下该方法,就可以实现自动轮播,例如:
如果同学自己实现不出来,可以提交作业,批复作业的老师,会按照同学的代码,为同学补齐功能并优化的。
祝学习愉快!
相似问题