问答详情
源自:3-1 JS缓冲动画

为什么去掉var timer=null 动画就一直抖动

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>无标题文档</title>

 <style type="text/css">

body,div,span{

    margin: 0;

    padding: 0;

}

 

#div1{

 

    width: 200px;

 

    height: 200px;

 

    background: red;

 

    position: relative;

 

    left: -200px;

 

    top: 0;

 

}

 

#div1 span {

 

    width: 20px;

 

    height: 50px;

 

    background: blue;

 

    position: absolute;

 

    left: 200px;

 

    top: 75px;

 

}

</style>

<script>

window.onload=function(){

var ddd=document.getElementById('div1');

ddd.onmouseover=function(){

smove(0);

}

ddd.onmouseout=function(){

smove(-200);

}

}

var timer=null;

var speed,taget;

function smove(taget){

clearInterval(timer);

var ddd=document.getElementById('div1');

timer=setInterval(function(){

if(ddd.offsetLeft>taget)

  var speed=-10;

  else

  var speed=10;

if(ddd.offsetLeft==taget)

clearInterval(timer)

else{ddd.style.left=ddd.offsetLeft+speed+'px'}},30)

}

为什么去掉var timer=null 动画就一直抖动  这个timer 在这里起到什么作用

提问者:慕桂英2593124 2017-04-24 16:10

个回答

  • qq_等风来_55
    2017-06-08 20:09:36
    已采纳

    time不定义的话是没有这个变量的

  • 慕桂英2593124
    2017-04-24 19:03:25

    timer要先定义