Профессиональные курсы: Практика верстки HTML JavaScript для начинающих Программирование на PHP Онлайн-курсы по веб-технологиям

Координаты элемента на странице

Для любого HTML-элемента (div, img, a...) можно определить координаты верхнего левого угла, воспользовавшись всего одной функцией.

function absPosition(obj) {
      var x = y = 0;
      while(obj) {
            x += obj.offsetLeft;
            y += obj.offsetTop;
            obj = obj.offsetParent;
      }
      return {x:x, y:y};
}
// Пример:
// Рисуем DIV, координаты которого будем определять
document.write("<div id='divId'>DIV</div>");
var ourDiv = document.getElementById("divId");
// Выводим размеры
document.write(
      "x = " + absPosition(ourDiv).x + "px<br>" +
      "y = " + absPosition(ourDiv).y + "px"
);

Александр Бурцев 9 января 2007

© Все права на данную статью принадлежат порталу fastcoder.org. Перепечатка в интернет-изданиях разрешается только с указанием автора и прямой ссылки на оригинальную статью. Перепечатка в печатных изданиях допускается только с разрешения редакции.

Комментарии

Serg_pnz 3 сентября 2008, 12:59 #
А как на счет размеров объекта?
 
Bur 3 сентября 2008, 13:03 #
Координаты я считаю от верхнего левого угла текущего объекта, так что размеры не учитываются. Но если нужно, плюсуем obj.offsetWidth и obj.offsetHeight для ширины и высоты соот-но.
 
Vulkan 6 июля 2010, 16:26 #
А этот метод является кроссбраузерным?
 
Bur 6 июля 2010, 16:28 #
Да.
 
 
Rambler's Top100 Flede HTML valid CSS valid