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

clearInterval 为什么无效 ?

clearInterval 为什么无效 ?

害羞长颈鹿 2016-06-21 23:54:50
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Document</title><style type="text/css">div{width: 200px;background-color: red;height:100px;position: relative;}</style><script type="text/javascript">window.onload=function (){var div=document.getElementById("DIV");var btn=document.getElementById("right");var timer=null;btn.onclick=function(){clearInterval(timer);timer=setInterval(function(){if(div.offsetLeft==400){clearInterval(timer);}else{div.style.left=div.offsetLeft+1+'px';}},50)};};</script></head><body><div id="DIV"></div><input type="button" value="right" id="right"></body></html>如果改了if(div.offsetLeft>=400) 则会在left:396px 停下来,这又是为什么?
查看完整描述

2 回答

?
Walk_

TA贡献48条经验 获得超30个赞

这里clearInterval失效的原因是因为你的if判断语句永远不会为真。 因为你没有清除浏览器的默认8边距,即每次实际是加9px,400不是9的倍数,所以不会停止。


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

添加回答

举报

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