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

来源:3-1 JS缓冲动画

慕桂英2593124

2017-04-24 16:10

<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 在这里起到什么作用

写回答 关注

2回答

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

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

    qq_等风来... 回复慕桂英259...

    0.0

    2017-06-09 20:13:39

    共 2 条回复 >

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

    timer要先定义 

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题