1 заметка с тегом

coordinates РСС

2 июля 2008, 15:43

Как найти координаты DOM элемента используя JavaScript?

Determine the coordinates {X, Y} using JavaScript
/* Определяем через паренты начало элемента по оси Х
Входной парметр, АйДи элемента
Возвращает Int*/
function findPosX(obj){
  var curleft = 0;
  if(obj.offsetParent)
    while(1) {
      curleft += obj.offsetLeft;
      if(!obj.offsetParent)break;
      obj = obj.offsetParent;
    }
  else if(obj.x) curleft += obj.x;
  return curleft;
}
/* Определяем Не Ие ли Броузер :)
Возвращает Bool*/
function isIE (){
    return navigator.userAgent.toLowerCase().indexOf("msie") > -1;}
/* Определяем через паренты начало элемента по оси Y
Входной парметр, АйДи элемента
Возвращает Int*/
function findPosY(obj){
  var curTop= 0;
  if(!isIE) curTop= obj.offsetHeight;
  if(obj.offsetParent)
    while(1){
     curTop+= obj.offsetTop;
     if(!obj.offsetParent) break;
     obj= obj.offsetParent;
    } 
  else if(obj.y) curTop+= obj.y; 
  return curTop;
} 
/* Определяем через функции findPosХ и findPosY координаты елемента
Входной парметр, АйДи элемента
Возвращает масив координат array {x,y}*/
function getPositionMy(e){
  return {x:findPosX(e), y:findPosY(e)};
}
coordinates   DOM