为什么我的回去之后越动越乱

来源:2-1 JS速度动画

风谷菌

2016-03-23 21:50

<!DOCTYPE HTML>
<html>
<head>
  <meta charset="UTF-8">
<style type="text/css">
 *{margin: 0;padding: 0}
    #red{
         width:100px;height: 100px;background: red;position:relative;left: -100px;

        }
    #blue{
          width: 20px;height: 40px;background-color: blue;position: absolute;left: 100px;margin-top:30px;font-size: 10px;
        }
</style>
<script type="text/javascript">
  window.onload=function(){
        var red=document.getElementById('red');
          var blue=document.getElementById('blue');
          red.onmouseover=function(){
              startMove(10,0);
          }
          red.onmouseout=function(){
              startMove(-10,-100);
          }
  }
     var timer=null;

       function startMove(speed,itarget){
           //       function startMove(itarget){

           clearInterval(timer);
           var red=document.getElementById('red');
           var timer=setInterval(function(){
               //单参数方法
               /*var speed=0;
               if(red.offsetLeft>itarget){
                speed=-1;
               }else{
                speed=1;
               }*/
           if(red.offsetLeft==itarget){
                   clearInterval(timer);
               }
           else{
               red.style.left=red.offsetLeft+speed+'px';}
           },30)
       }
</script>
    <title>移动效果</title>
</head>
<body>
    <div id="red"><div id="blue"></div></div>
    
</body>
</html>

写回答 关注

1回答

  • 靖_pacify
    2016-03-23 22:25:06
    已采纳

         var timer=null;

           function startMove(speed,itarget){
               //       function startMove(itarget){

               clearInterval(timer);
               var red=document.getElementById('red');
               var timer=setInterval(function(){
                   //单参数方法
                   /*var speed=0;


    startMove里面的timer前面不能加var声明 加的话你前面清除的是方面外面的全局timer 然后你每次执行方法都重新定义了一个局部的timer定时器  简单说方面里面定时器的timer不是外面全局的timer

    风谷菌

    谢谢 看了半天orz

    2016-03-23 22:42:41

    共 1 条回复 >

JS动画效果

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

113923 学习 · 1443 问题

查看课程

相似问题