使用定时器实现轮播图

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>Document</title>

   <style>
   *{
      margin: 0;
      padding: 0;
      list-style: none;
   }

   #box{
      width: 700px;
      height: 400px;
      border: solid;
      margin: 100px auto;
      position: relative;
   }

   img{
      width: 700px;
      height: 400px;
      display: none;
   }

    input{
      width: 25px;
      height: 50px;
      background: rgba(0,0,0,0.5);
      border-style: none;
      outline: none;
      cursor: pointer;
   }

   #left{
      position: absolute;
      top:170px;
      left: 0px;
   }

   #right{
      position: absolute;
      top:170px;
      right: 0px;
   }

   ul{
      position: absolute;
      bottom: 0px;
      left: 250px;
   }

   li{
      width: 10px;
      height: 10px;
      border-radius: 50%;
      border: 1px solid;
      margin: 10px;
      float: left;
      cursor: pointer;
   }

   .active{
      display: block;
   }

   .circle{
      background: rgba(0,0,0,0.5);
   }

    </style>
</head>
<body>
   
   <div id="box">
   <input type="button" value="<" id="left">
   <input type="button" value=">" id="right">
   <img src="images/1.jpg" class="active">
   <img src="images/2.jpg">
   <img src="images/3.jpg">
   <img src="images/4.jpg">
   <img src="images/5.jpg">
   <img src="images/6.jpg">
      
   <ul>
      <li class="circle"></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
      <li></li>
   </ul>
   </div>
</body>

<script>
   
   window.onload=function(){

      var ArrImg=document.getElementsByTagName('img');
      var ArrLi=document.getElementsByTagName("li");
      var oLeft=document.getElementById('left');
      var oRgt=document.getElementById("right");
      var oBox=document.getElementById("box");
      var imgNum=0;

      for (var i = 0; i < ArrLi.length; i++) {
            ArrLi[i].index=i;
         ArrLi[i].onmouseover=function(){

            for (var l = 0; l < ArrLi.length; l++) {
               
                  ArrLi[l].className="";
                  ArrImg[l].className="";
                    }
            
            this.className="circle";
            ArrImg[this.index].className="active";
            imgNum=this.index;
         }
        }

        oRgt.onclick=move;
      var x=setInterval(move,1000);
       oBox.onmouseover=function(){
            clearInterval(x)
         };

      oBox.onmouseout=function(){
            x=setInterval(move,1000);
         }


      function move(){
         imgNum=imgNum+1;


         if (imgNum>=ArrImg.length) {
            imgNum=0;
         }

         for (var z = 0; z < ArrLi.length; z++) {
            ArrImg[z].className="";
            ArrLi[z].className="";
         }

          ArrImg[imgNum].className="active";
         ArrLi[imgNum].className="circle";
        }

        oLeft.onclick=function(){

           imgNum=imgNum-1;

           if (imgNum<0) {
              imgNum=ArrLi.length-1;
           }

           for (var j = 0; j < ArrLi.length; j++) {
              ArrImg[j].className="";
              ArrLi[j].className="";
           }

           ArrImg[imgNum].className="active";
           ArrLi[imgNum].className="circle";
        }



   }
</script>
</html>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值