为了账号安全,请及时绑定邮箱和手机立即绑定

我的程序有bug。。比如说,它自动跳到3,你的鼠标点击了5,当鼠标离开后,他会自动跳到4而不是1。。。请问如何解决

<!doctype html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

<style>

  *{margin:0;

    padding:0;

    list-style:none;}

  .wrap{height:170px;

        width:490px;

        margin:60px auto;

        overflow: hidden;

        position: relative;

        margin:100px auto;

        border:2px solid ;}

  .wrap ul{position:absolute;} 

  .wrap ul li{height:170px;}

  .wrap ol{position:absolute;

           right:5px;

           bottom:10px;}

  .wrap ol li{height:20px; width: 20px;

              background:#ccc;

              border:solid 1px #666;

              margin-left:5px;

              color:#000;

              float:left;

              line-height:center;

              text-align:center;

              cursor:pointer;}

  .wrap ol .on{background:#E97305;

               color:#fff;}


  </style>

  <script type="text/javascript">

  window.onload=function(){

    var wrap=document.getElementById('wrap'),

        pic=document.getElementById('pic').getElementsByTagName('li'),

        list=document.getElementById('list').getElementsByTagName('li'),

        index=0,

        timer=null;


        // 定义并调用自动播放函数

       //定义

        function autoPlay()

        {

            index++;

            if(index>=5) index=0;

            changePic(index);

            

        }

        //diaoyong

         timer=setInterval(autoPlay,1000); 

         

      // 定义图片切换函数

       function changePic(a)

       {

            for(var j=0;j<pic.length;j++)

            {

              pic[j].style.display="none";

              list[j].className="";

              if(j==a) 

              {

                  pic[a].style.display="block";

                  list[a].className="on";

              }

            }

            

    }

     // 鼠标划过整个容器时停止自动播放

        wrap.onmouseover=function(){

          clearInterval(timer);

        }

     // 鼠标离开整个容器时继续播放至下一张

        wrap.onmouseout=function(){

            

             timer=setInterval(autoPlay,1000);

        }

        

     // 遍历所有数字导航实现划过切换至对应的图片

     for(var i=0;i<list.length;i++)

     { 

         list[i].index=i;

         //that=this;

         list[i].onclick=function(){

             clearInterval(timer);

             changePic(this.index);

         }

         

     }

      

   }


  </script>

</head>

<body>

  <div id='wrap'>

    <ul id="pic">

      <li><img src="http://img1.sycdn.imooc.com//54111cd9000174cd04900170.jpg" alt=""></li>

      <li><img src="http://img1.sycdn.imooc.com//54111dac000118af04900170.jpg" alt=""></li>

      <li><img src="http://img1.sycdn.imooc.com//54111d9c0001998204900170.jpg" alt=""></li>

      <li><img src="http://img1.sycdn.imooc.com//54111d8a0001f41704900170.jpg" alt=""></li>

      <li><img src="http://img1.sycdn.imooc.com//54111d7d00018ba604900170.jpg" alt=""></li>    

    </ul>

    <ol id="list">

      <li>1</li>

      <li>2</li>

      <li>3</li>

      <li>4</li>

      <li>5</li>

    </ol>

  </div>

</body>

</html>


正在回答

2 回答

鼠标离开时,传递当前的下标给轮播函数作为参数

0 回复 有任何疑惑可以回复我~

已解决,老师在前面课程已经讲过了

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

我的程序有bug。。比如说,它自动跳到3,你的鼠标点击了5,当鼠标离开后,他会自动跳到4而不是1。。。请问如何解决

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信