Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Определение координат элемента относительно всего документа
Координаты элемента определяются посредством свойств offsetTop и offsetLeft. Они содержат значение координат X и Y относительно элемента, на который указывает свойство offsetParent.
По идее, это свойство должно указывать на родительский элемент, однако на практике это не всегда так, например, в Firefox оно указывает на корневой элемент, а в Opera на непосредственного родителя. Таким образом при определении координат элемента нужно учитывать offsetParent.
Ниже представлены функции, которые выполняют эту задачу:
// Определение координаты элемента по горизонтали
function pageX(elem) {
return elem.offsetParent ?
elem.offsetLeft + pageX( elem.offsetParent ) :
elem.offsetLeft;
}
// Определение координаты элемента по вертикали
function pageY(elem) {
return elem.offsetParent ?
elem.offsetTop + pageY( elem.offsetParent ) :
elem.offsetTop;
}
Если свойство offsetParent элемента указывает на корневой элемента документа, то сразу же возвращается значение свойств offsetTop или offsetLeft, если же offsetParent не является корневым элементом, то рекурсивно проходятся все элементы вплоть до корневого.
.
Прокомментировать/Отблагодарить