2012-04-02 5 views
1

Я пытаюсь проверить левую координату div, но это не возвращает никакой ценности. Когда я пытаюсь проверить левое значение в alert(), он показывает пробел. Вы можете помочь??Почему style.left не возвращает значение в Javascript?

Браузер Firefox 8.0

+2

опубликуйте свой html и javascript. – jbabey

ответ

3

Это даст вам свойство CSS left. Если вы хотите получить фактические координаты, используйте getClientRects.

var rects = document.getElementById("#myDiv").getClientRects(); //This returns a set of rectangles representing the element 
var rect = rects[0]; //There is usually only 1 rectangle 
alert(rect.left); 

Обратите внимание, что вы не должны использовать alert для отладки. Вот что такое console.log. Затем вы можете увидеть результат в консоли Chrome или в Firefox, если у вас установлен Firebug. alert может быть неправильным, поскольку он будет форматировать определенные вещи. Это также намного более раздражает.

+0

Отличная работа. Жизнь спасателя !!! :) –

0

Предположительно, потому что вы не установили style.left или установить свойство CSS left в styleатрибут.

element.style Карты непосредственно относятся к атрибуту стиля. Это не дает вам вычисленный стиль.

См. getComputedStyle для этого. Если вы хотите увидеть левую позицию, в отличие от значения свойства CSS left, см. offsetLeft.

1

Я думаю, это потому, что вы устанавливаете это значение в css и не используете атрибут inline style. Вы должны использовать getComputedStyle()

+0

Ничего себе, я никогда не слышал об этом. Довольно круто. –

Смежные вопросы