还是不明白为什么在没加判断语句之前,为什么他会停在-190.5的地方?不继续计算了吗?求指教!!!

来源:3-1 JS缓冲动画

珺珺

2015-06-20 18:17

还是不明白为什么在没加判断语句之前,为什么他会停在-190.5的地方?依照语句:

if(odiv.offsetLeft == Target)
        {
            clearInterval(timer);
        }

应该会到-200的地方才停啊?求指教


写回答 关注

2回答

  • 狗宝
    2015-09-20 17:52:49
    已采纳

    oDiv.style.left=oDiv.offsetLeft+speed+"px";
      console.log(oDiv.style.left);
      console.log(oDiv.offsetLeft);

    这个问题我也想了半天,你试试加这两行console代码试验下,你可能会明白了。

    珺珺

    非常感谢!

    2016-02-17 00:27:54

    共 1 条回复 >

  • junjieok
    2015-06-30 21:31:28

    主要是因为oDiv.offsetLeft是取整数的,也就是你设置为-8.55时,它取出是-9,所以就这样一直循环这。内部还是一直计算的,并没有停止计算。

    myrtis

    取整的话那就是-191,没到-200应该也不会停啊?

    2015-09-19 07:48:22

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113923 学习 · 1443 问题

查看课程

相似问题