求哪位大神帮我看一下是哪里出问题,就是停不下来,检查了很多遍了。

来源:2-1 JS速度动画

NineSun

2015-08-17 17:27

有没有大神帮我看一下,不知道哪里出问题了,就是停不下来,检查了很多遍了。纠结


window.onload=function(){

var oDiv=document.getElementById("div1");

oDiv.onmouseover=function(){

startMove();

}

}

var timer=null;

function startMove(){

var oDiv=document.getElementById("div1");

timer=setInterval(function()

{

   if(oDiv.offsetLeft==0)

     {

       clearInterval(timer);

                                 }

   else

             { 

    oDiv.style.left=oDiv.offsetLeft+10+"px";

                                         }

},30)

}


写回答 关注

5回答

  • 小姑娘技术好
    2015-09-10 14:14:25

    有可能是你的布局有问题。运动的距离不是10的倍数。*{margin:0;padiding:0;}初始化一下。left要是10的倍数。div没有边框和padding'margin值。

    NineSu...

    有可能,等下试一下

    2015-09-10 17:49:45

    共 1 条回复 >

  • 小姑娘技术好
    2015-09-03 17:00:36

    oDiv.offsetLeft>0它就能停下来了

    NineSu...

    oDiv.offsetLeft>0我试过了,有问题,最终的left值都不一样

    2015-09-10 10:12:44

    共 1 条回复 >

  • The_Legend
    2015-08-30 16:02:49

    先说明两点 

    1. 我是学生,以下是个人看法,仅供参考,不过我都测验过了

    2. 希望下次把完整的代码发到问题中,这样别人就不用再去写样式,也不用猜你的样式是怎样的

      以下是我的回答


      1. 设置了margin,没设置left。

      结果:会一直往前跑,因为oDiv不知道什么时候停下来,这时候的margin-left代替了left,为什

      么会代替,我也不知道。

      而且前进的speed为margin-left+10.(因为你设置的是10)

      2.没设置margin,设置了left。

      结果:不会往前跑(left小于0才行,因为一开始就大于0,而且speed为10(正数),永远都不会

      停,因为left永远都不会为0)

      3.同时设置了margin和left。

      结果:会一直往前跑

      前进的speed为margin-left+10(如果speed为负的话,就往相反方向移动)

      真正的left(我定义为real-left,好记点)为(margin-left+left)的值,

      real-left 为负的时候,以left为准进行计算(判断依据real-left为0的时候,才会停下来),

      real-left 为正的时候,以real-left为准进行计算。

      如果speed的值恰好能让real-left为0,则能停下来。判断也是real-left为0的时候,才停下来


    希望能给我回复,你的问题。这样大家才能共同进步

    人生如只如初...

    我也总是停不下来,原来是这样,牛!!!!

    2015-10-07 19:35:07

    共 3 条回复 >

  • NineSun
    2015-08-25 19:22:27

    但是我的初始值是10的整数倍,为什么会不一定等于0呢

  • J丶_0
    2015-08-17 22:42:32

    默认值+10一直加 不一定等于0  可能直接就大于0 或者小于0 的

    NineSu...

    但是我的初始值是10的整数倍,为什么会不一定等于0呢

    2015-09-10 10:13:34

    共 1 条回复 >

JS动画效果

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

113925 学习 · 1443 问题

查看课程

相似问题