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

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

<!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 回答

     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

1 回复 有任何疑惑可以回复我~
#1

风谷菌 提问者

谢谢 看了半天orz
2016-03-23 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

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

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