<script> //首先获取元素,这里获取了所有需要的元素。 var box = document.getElementsByClassName("box_big")[0]; var spot = document.getElementsByClassName("spot_list"); var block = document.getElementsByClassName("block")[0]; var time = null; spot[0].style.background = "rgba(91,91,91,0.8)"; var count = 0; showtime(); //鼠标进入计时器停止 block.onmouseenter = function () { clearInterval(time); }; //鼠标出来计时器打开 block.onmouseleave = function () { showtime(); }; //点的事件 for (var i = 0; i < spot.length; i++) { spot[i].index = i; spot[i].onmouseenter = function () { spot[count].style.background = "rgba(255, 255, 255, 0.3)"; this.style.background = "rgba(91,91,91,0.8)"; count = this.index; box.style.marginLeft = (count * -1800) + "px"; } } //计时器 function showtime() { time = setInterval(function () { mate(); }, 2500); } //正常滚动 function mate() { box.className = "box_big nav"; spot[count].style.background = "rgba(255, 255, 255, 0.3)"; count++; spot[count > box.children.length - 2 ? 0 : count].style.background = "rgba(91,91,91,0.8)"; box.style.marginLeft = (count * -1800) + "px"; setTimeout(function () { if (count > box.children.length - 2) { count = 0; box.className = "box_big"; box.style.marginLeft = "0px" } }, 500) } </script>
时间: 2024-02-14 22:33:26 浏览: 60
js document.getElementsByClassName的使用介绍与自定义函数
这段代码实现了一个轮播图的功能,其中包括以下几个部分:
1.获取所需元素,包括轮播图容器、小圆点列表、计时器等。
2.设置第一个小圆点样式,并启动计时器。
3.设置鼠标进入轮播图容器时停止计时器,鼠标移出时重新启动计时器。
4.设置小圆点的鼠标进入事件,当鼠标进入某个小圆点时,将该小圆点样式设置为选中状态,并将轮播图容器的margin-left值相应地设置为当前选中小圆点的索引乘以轮播图容器的宽度的负值。
5.设置计时器,每隔2.5秒自动滚动轮播图。
6.设置正常滚动函数,用于计时器每次执行时的滚动操作。首先将当前小圆点样式设置为未选中状态,然后将计数器自增1,并将下一个小圆点样式设置为选中状态。如果计数器超过了小圆点数量减2的值,说明已经滚动到了最后一张轮播图,此时将计数器重置为0,并将轮播图容器的类名改回原来的类名,将margin-left值设置为0。
阅读全文