Сохраняет ли браузер вычисленные координаты div в доступных переменных? - PullRequest
0 голосов
/ 19 ноября 2009

Если у меня текущая компоновка (позиция: статическая / относительная), сохраняет ли браузер вычисленные координаты (x, y) элемента div в свойствах, к которым можно получить доступ?

Кроме того, этого было бы достаточно, если бы решение работало только с Firefox. JQuery, к сожалению, не вариант.

Ответы [ 3 ]

1 голос
/ 19 ноября 2009

Нет, однако используя mootools (и, вероятно, jquery) вы можете сказать $(element).getLeft() или $(element).getTop().

или вы можете использовать что-то вроде этого:

function getLeft(obj) {
    return (obj.offsetParent==null ? obj.offsetLeft : obj.offsetLeft + getLeft(obj.offsetParent));
}

function getTop(obj) {
    return (obj.offsetParent==null ? obj.offsetTop : obj.offsetTop + getTop(obj.offsetParent));
}
1 голос
/ 19 ноября 2009

В «нативном» JavaScript вы можете сделать это так:

document.getElementById('yourElement').offsetLeft
document.getElementById('yourElement').offsetTop

но вам, вероятно, потребуется добавить несколько смещений родительских элементов, в зависимости от того, что применяется position.

1 голос
/ 19 ноября 2009

Это действительно так. К сожалению, довольно трудно получить эту информацию надежно из-за несоответствий браузера и общего уродства необработанного доступа к DOM.

Я предлагаю jQuery , где у вас может быть такой код:

$('#some_div').offset().top

Что даст вам позицию y элемента div слева вверху от документа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...