首页 > JS的一个问题

JS的一个问题

animate:function(obj,attr,val)

{
       var d=1000;
       if(obj[attr+'timer']) clearInterval(obj[attr+'timer']);
       var start = parseInt(animation.css(obj,attr));
       //动画开始位置
       var space=val-start,
       //动画要运动的距离
       st=(new Date).getTime(),
       m=space>0? 'ceil':'floor';
  obj[attr+'timer']=setInterval(function()
  {
    var t=(new Date).getTime()-st;
    //运行时间
    if (t<d)
           {
      animation.css(obj,attr,Math[m](animation.easing['easeOut'](t,start,space,d)) +'px');
    }
    else
    {
      clearInterval(obj[attr+'timer']);
      animation.css(obj,attr,top+space+'px');
    }
  },20);
},

代码下面有个top+space+'px'这里的top不知道如何理解,虽然这是代码的一部分,但是其他地方都没有top这个变量。我测试了一下,top是一个对象。


top 应该是某个地方定义的一个变量,用来保存一个位置值。既然是别的人代码,有可能你抄的时候没抄到定义的那一段。

如果没有定义 top 这个变量,直接使用的 top 是 window.top,表示顶层窗口(主要针对框架页面而言,如果没有框架,顶层窗口就是当前窗口),这个时候的 top 是不能参与 + 运算的,因为它是一个对象,不管用于数值型的 + 还是字符串连接都无意义(特殊情况除外,你这里不像是特殊情况)

【热门文章】
【热门文章】