<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> *{ padding: 0px; margin: 0px; } .box2{ position: relative; width: 500px; height: 400px; border: 10px solid rgb(247, 241, 241); box-shadow: 10px 10px 10px #aeaeae; overflow: hidden; } .tup{ position: absolute; width: 3000px; height: 100%; border: 1px solid blueviolet; } .tup li{ list-style: none; width: 500px; height: 400px; /* border: 1px solid burlywood; */ float: left; } .tup li:nth-child(1){ background: url(images/大1.jpg); } .tup li:nth-child(2){ background: url(images/大2.jpg); } .tup li:nth-child(3){ background: url(images/大5.png); } .tup li:nth-child(4){ background: url(images/大6.jpg); } .tup li:nth-child(5){ background: url(images/大7.jpg); } .tup li:nth-child(6){ background: url(images/大8.jpg); } .right{ position: absolute; top: 50%; margin-top: -10px; right: 20px; width: 20px; height: 20px; background-color:rgba(0,0,0,0.4); } a{ color: aliceblue; text-decoration: none; } .left{ position: absolute; top: 50%; margin-top: -10px; left: 20px; width: 20px; height: 20px; background-color:rgba(0,0,0,0.4); } </style> </head> <body> <div class="box2"> <ul class="tup"> <li></li> <li></li> <li></li> <li></li> <li></li> <li></li> </ul> <div class="right"> <a href="#">></a> </div> <div class="left"> <a href="#"><</a> </div> </div> </body> <script> const right=document.querySelector('.right'); const left=document.querySelector('.left'); const ul=document.querySelector('.tup'); const box2=document.querySelector('.box2'); let arr=document.querySelectorAll('.tup li'); console.log(arr) let index=0; let width=500; function stepy(){ ul.style.left=-index*width+'px'; } right.addEventListener('click',function(){ index++; //如果这只写大于arr.length,最后会多一个空白li if(index>=arr.length){ index=0; } stepy(); }) left.addEventListener('click',function(){ index--; if(index<0){ index=5; } -stepy(); }) let xh=setInterval(function(){ right.click(); },1000) box2.addEventListener('mouseenter',function(){ clearInterval(xh); console.log(xh); }) box2.addEventListener('mouseleave',function(){ clearInterval(xh); setInterval(function(){ right.click(); },1000) }) </script> </html>
解决方法:鼠标离开时,设置的定时器没有命名,也没有关闭定时器
box2.addEventListener('mouseleave',function(){ clearInterval(xh); xh= setInterval(function(){ right.click(); },1000) })
标签:index,轮播,tup,图时,li,width,background,left,鼠标 From: https://www.cnblogs.com/wyxjava/p/17291758.html