js运动 为什么返回的时候老是抖动?

<!doctype html>

<html>

<head>

<meta charset="UTF-8">

<title>speed</title>

<style type="text/css">

div{width: 100px;height: 50px;background: red;margin: 10px}

</style>

<script type="text/javascript">

window.onload=function()

{

var aDiv=document.getElementsByTagName('div')


for(var i=0;i<aDiv.length;i++)

{           aDiv[i].timer=null

aDiv[i].onmouseover=function()

{


startMove(this,400)

}

aDiv[i].onmouseout=function()

{

startMove(this,100)

}

}


}


var timer=null;

function startMove(obj,iTarget)

{

clearInterval(timer)

obj.timer=setInterval(function()

{

                                var speed=(iTarget-obj.offsetWidth)/6;

                                speed=speed>0?Math.ceil(speed):Math.floor(speed)

                                if(obj.offsetWitdh==iTarget)

                                {

                                 clearInterval(obj.timer)

                                }

                                else

                                {

                                 obj.style.width=obj.offsetWidth+speed+'px'


                                }

},30)

}

</script>

</head>

<body>

<div></div>

<div></div>

<div></div>

</body>

</html>


慕粉4084340
浏览 1466回答 1
1回答

stone310

最开始的也要改成clearInterval(obj.timer);还有if(obj.offsetWitdh==iTarget)这里width写错了                             
打开App,查看更多内容
随时随地看视频慕课网APP