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

动画不能正常执行为什么

动画不能正常执行为什么

啊啊啊啊123 2016-09-13 15:04:48
<!doctype html> <html> <head> <meta charset="UTF-8"> <title>缓冲运动</title> <style type="text/css"> *{margin: 0;padding: 0;} #box{width: 200px;height: 200px;background-color: red;position: relative;left: -200px;top: 0;} #box span{width: 20px;height: 50px;position: absolute;top: 50px;left: 200px;background-color: blue;} </style> <script type="text/javascript"> window.onload=function(){ var obox = document.getElementById('box'); obox.onmouseover = function(){ startmove(0); } obox.onmouseout = function(){ startmove(-200); }  } var timer = null; function startmove(iTarget){ var obox = document.getElementById('box'); function go() { var speed = (iTarget-obox.offsetLeft)/20; speed = speed > 0?Math.ceil(speed):Math.floor(speed); if ( (obox.offsetLeft < iTarget) || (obox.offsetLeft > iTarget)) { obox.style.left = obox.offsetLeft + speed+'px'; } times = setTimeout(go, 30); } go(); } </script> </head> <body> <div id="box"><span>分享</span></div> </body> </html>if里的判
查看完整描述

2 回答

已采纳
?
OlderSkee

TA贡献123条经验 获得超103个赞

代码有一处错误 ,两个问题

代码第三十一行,timer  不是times

然后在代码的25行后面加一句 clearTimeout(timer),

以上两个改了之后就可以往回走了。

不过

最后你的代码18行传入的值不对,不能完全的隐藏掉。

看了下。具体原因是speed取值的问题,

把26行的20改成5 ,就可以完全正确的执行了。

查看完整回答
1 反对 回复 2016-09-13
  • 2 回答
  • 0 关注
  • 1462 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信