javascript - JS的一个问题
巴扎黑
巴扎黑 2017-04-10 17:07:06
[JavaScript讨论组]

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是一个对象。

巴扎黑
巴扎黑

全部回复(1)
ringa_lee

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

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号