iTarget=-200px,为什么oDiv.offsetLeft=-190.5px就不执行if(oDiv.offsetLeft==iTarget){ clearInterval(timer); } else{ oDiv.style.left=oDiv.offsetLeft+speed+'px';}<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>速度动画</title> <style> body,div,span{margin:0;padding: 0;} #div1{width:200px;height: 200px;background-color: red;position: relative;left: -200px;top: 0px;} #div1 span{width:20px;height: 50px;background-color: blue;position: absolute;left:200px;top:75px;} </style> <script> window.onload=function(){ var oDiv=document.getElementById('div1'); oDiv.onmouseover=function(){ startMove(0); } oDiv.onmouseout=function(){ startMove(-200); } } var timer=null; function startMove(iTarget){ clearInterval(timer); var oDiv=document.getElementById('div1'); timer=setInterval(function(){ var speed=(iTarget-oDiv.offsetLeft)/20; speed=speed>0?Math.ceil(speed):Math.floor(speed); if(oDiv.offsetLeft==iTarget){ clearInterval(timer); } else{ oDiv.style.left=oDiv.offsetLeft+speed+'px';} },30) } </script> </head> <body> <div id="div1"><span id="share">分享</span></div> </body></html>
添加回答
举报
0/150
提交
取消