邱诗伦
2016-03-29 08:23
麻烦老师看下
因为px是没有小数的,-190.5浏览器会默认为-190,把小数省略掉,这是speed等于-200-(-190)/20为-0.5,然后又算出oDiv.style.left=-190+(-0.5)=-190.5,然后浏览器又会省略掉小数,使当前值为-190,然后又计算出speed为-0.5,陷入一个死循环,无法继续执行下去。
我不是老师,斗胆帮你解答一下。
在speed不取整的情况下,根据speed=(iTarget-oDiv.offsetLeft)/20和oDiv.style.left=oDiv.offsetLeft+speed这两句来分析。因为left和offsetLeft是没有小数点的,所以speed是多出来的小数即-0.5,当iTarget=0时,speed=-0.5,根据speed=(iTarget-oDiv.offsetLeft)/20推算出offsetLeft=-190。根据oDiv.style.left=oDiv.offsetLeft+speed推算出left=-190.5
JS动画效果
113923 学习 · 1443 问题
相似问题
回答 1