Я получаю странную ошибку, когда в 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. Я обновил код, чтобы отразить это. Кто-нибудь знает какие-либо обходные пути для этого?