水平滚动的问题

水平滚动的问题

下面代码实现的是连续的水平滚动。我希望的是在一张图片完全显示后停留n秒。老师说因为滚动用了间歇调用,如果再用间歇调用来实现会冲突。

如果想达到这样的效果,代码应该怎么写,请老师给个思路

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>Document</title>

    <style type="text/css">

       *{

        padding: 0;

        margin: 0;

       }

      .main{

        width: 200px;

        height: 200px;

        margin: 50px auto;

        overflow: hidden;

        

        

      }

      .menu{

        width: 1600px;

        height:200px;

        


      }

      .menuBox{

        width: 200px;

        height: 200px;

        background:no-repeat;

        float: left;

        display: block;

         

      }

      .box1{

        background-image:url(img/1.jpg);

        background-size:100% 100%;  

      }

      .box2{

        background-image:url(img/2.jpg);

        background-size:100% 100%;  

      }

      .box3{

        background-image:url(img/3.jpg);

        background-size:100% 100%;  

      }

      .box4{

        background-image:url(img/4.jpg);

        background-size:100% 100%;  

      }

      .box5{

        background-image:url(img/5.jpg);

        background-size:100% 100%;  

      }

      .box6{

        background-image:url(img/6.jpg);

        background-size:100% 100%;  

      }

      .box7{

        background-image:url(img/7.jpg);

        background-size:100% 100%;  

      }

      .box8{

        background-image:url(img/8.jpg);

        background-size:100% 100%;  

      }

    </style>

</head>

<body>

  <!--最外层盒子-->

<div class="main" id="main" style="position: relative;">

   <!--盛放图片的盒子-->

   <div class="menu" id="menu" style="position: absolute;

        left: 0;top:0;">

       <div class="menuBox box1"></div>

       <div class="menuBox box2"></div>

       <div class="menuBox box3"></div>

       <div class="menuBox box4"></div>

       <div class="menuBox box5"></div>

       <div class="menuBox box6"></div>

       <div class="menuBox box7"></div>

       <div class="menuBox box8"></div>

   </div>

</div>

<script type="text/javascript">

   function out() {

     function byid(id) {

        return typeof(id)==='string'?document.getElementById(id):id;

     }

     var main=byid('main');

     var menu=byid('menu');

     var menuleft=parseInt(menu.style.left);

     var timer=null;

     var t=null;    

     var box=menu.getElementsByTagName('div');

     main.onmouseout=function() {

       

       timer=setInterval(item,20);

       function item() {

        menu.style.left=menuleft+'px';

        menuleft--;

        if(menuleft<=-1400){

          menuleft=0;  

        }

       }


     }

     main.onmouseout();

   }

   out()

</script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
bbbboom 2019-01-16 19:18:48

老师都说了是冲突的,因此水平滚动和图片完全显示后停留n秒,不能同时出现。图片水平滚动和图片完全显示后停留n秒都是可以单独实现的。视频中老师讲的轮播图的效果就是图片完全显示后停留1秒的实现, 想停留几秒你可以自己进行设置。

  • 提问者 郝存杰 #1
    我不太清楚我想的效果是不是有实现的可能?如果有,不纠结于方法,用已经学过的内容能否实现,怎么实现,我问的是这个。
    2019-01-16 19:36:39
  • bbbboom 回复 提问者 郝存杰 #2
    让定时器停止的话,只有通过清除定时器的方法。而清除定时器是不可以设置时间的,因此实现不了图片在完全显示后停留n秒。
    2019-01-17 11:09:59
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师