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

为什么添加了if (timer) { clearInterval(timer) timer=null } 这行代码 幻灯片不会自动播放 ,鼠标移动过去才会自动播放?

<!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;}

  .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;


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

      timer=setInterval(qude,2000)

      function qude(){

       index++;

       if (index>=list.length) {

       index=0

       }

       common(index)

       // console.logo(pic)

      }

      if (timer) {

       clearInterval(timer)

       timer=null

      }


      // 定义图片切换函数

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

      list[j].id=j;

      list[j].onmouseover=function(){

      clearInterval(timer);

      common(this.id)

      }

      list[j].onmouseout=function(){

      timer=setInterval(qude,2000)

     }

     };

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

     function common(curIndex){

      // console.logo(curIndex);

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

       list[i].className="";

       pic[i].style.display="none"

       }

       list[curIndex].className="on"

       pic[curIndex].style.display="block"

       index=curIndex

     }

     

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

    

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

   }


  </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>


正在回答

1 回答

你没有调用自动播放函数,如果想页面一加载完毕就自动播放,应该在window。onload()中调用一下自动播放函数,  这样试试:

function qude(){

       index++;

       if (index>=list.length) {

       index=0

       }

       common(index)

      };qude();

或者你把timer=setInterval(qude,2000)与

 if (timer) {

       clearInterval(timer)

       timer=null

      }

位置换一下,你这样设置,不就把timer定时器给null了么

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

举报

0/150
提交
取消

为什么添加了if (timer) { clearInterval(timer) timer=null } 这行代码 幻灯片不会自动播放 ,鼠标移动过去才会自动播放?

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