【发布时间】:2010-11-28 12:49:35
【问题描述】:
我在 Internet Explorer 7 中遇到一个奇怪的错误,当我在浮点数上调用 Math.round 时,它会给我一个“无效参数”错误。考虑以下几点:
var elementLeft = parseInt(element.style.left); // Here we're actually getting NaN
function Foo(x) {
this.x = x;
this.apply = function(element) {
element.style.left = Math.round(this.x) + 'px';
};
}
Foo(elementLeft);
在这种情况下,x 是一个非负数,element 只是我页面中的一个 DOM 元素(实际上是一个 div)。
有什么想法吗?
编辑: 作为x 参数传入的变量实际上早先初始化为parseInt(element.style.left)。看来我第一次尝试阅读element.style.left 时,IE 实际上是在回馈 NaN。我已经更新了代码以反映这一点。有人知道任何解决方法吗?
【问题讨论】:
-
您是否尝试将 alert(this.x) 放入匿名函数中? ;)
-
如果它真的是一个浮点数,那应该可以。也展示你如何使用这个对象。
标签: javascript internet-explorer dom internet-explorer-7