请帮忙看看 为什么物体运动停不下来

来源:-

绿野仙踪yy

2016-04-13 10:38

<!DOCTYPE  HTML>
<html >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>js运动</title>
<style>
*{margin:0px;padding:0px;}
#div1{
      height:200px;
     width:200px;
     background-color:red;
     position:relative;
     left:-200px;
     }

#share{
       
       height:50px;
      background-color:blue;
      position:absolute;
      top:100px;
      left:200px;
      color:#FFFFFF;
}

</style>
<script>
   var timer=null;
  window.onload=function(){
     var oDiv=document.getElementById('div1');
     oDiv.onmouseover=startMove;
  }
   function startMove(){
      clearInterval(timer);
      var oDiv=document.getElemenstById('div1');
      timer=setInterval(function(){
         if ((oDiv.style.left = oDiv.offsetLeft)) {
            clearInterval(timer);

         } else {
            oDiv.style.left = oDiv.offsetLeft + 1 + 'px';
         }

      },30);
   }
</script>
</head>
<body>
  <div id="div1">
  <span id="share">分享</span>
 </div>
</body>
</html>

  请帮忙看为什么停不下来???

写回答 关注

1回答

  • Anll
    2016-04-15 17:46:57

    function startMove(){
       clearInterval(timer);
       var oDiv=document.getElementById("div1");
       timer=setInterval(function(){
           if (oDiv.offsetLeft == 0) {
               clearInterval(timer);

           } else {
               oDiv.style.left = oDiv.offsetLeft + 1 + 'px';
           }

       },30);
    }


    你的清楚定时器的判断错了!

    应该是oDiv.offsetLeft == 0 

    而不是oDiv.style.left = oDiv.offsetLeft

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113931 学习 · 1443 问题

查看课程

相似问题