Página 2
Evaluar expresiones XPath en cualquier navegador
Página 3
Índice
Ver este artículo en español 
Página 4
Referencia visual de CSS

Obtener la posición absoluta de cualquier elemento HTML

Alexander Hristov

El siguiente fragmento de código proporciona la posición absoluta de cualquier elemento HTML del árbol DOM. Es bastante útil para situar capas emergentes encima de un elemento concreto - ya sea en forma de ayudas o para menús.

La esencia de la función son las propiedades offsetLeft y offsetTop, que devuelven la posición relativa de un elemento respecto a su contenedor, que a su vez está almacenado en offsetParent.

 

position.js
 
function getAbsoluteElementPosition(element) {
  if (typeof element == "string")
    element = document.getElementById(element)
    
  if (!element) return { top:0,left:0 };
  
  var y = 0;
  var x = 0;
  while (element.offsetParent) {
    x += element.offsetLeft;
    y += element.offsetTop;
    element = element.offsetParent;
  }
  return {top:y,left:x};
}

 

La función acepta como parámetro o bien el ID de un elemento (una cadena), o bien el propio elemento como objeto. El valor de retorno es también un objeto con dos propiedades : top y left, que contienen la posición buscada.

Un ejemplo de uso podría ser el siguiente:

 
function test() {
  var elemento = document.getElementById('miboton');
  var pos = getAbsoluteElementPosition(elemento)
  
  alert("top="+pos.top+" left="+pos.left)
}

 

Pulsa   para probar la función "en vivo".

Probado con:
Tested with IE
6.0+
Tested with Firefox
1.5+
Tested with Opera
9.0+
   


Código Fuente



 

Comentarios

 

Añadir Comentario

Nombre (opcional)
EMail (opcional, no se muestra)

Texto