Este foro ya no está activo, así que no puedes publicar nuevas preguntas ni responder a las preguntas existentes.

¿Cómo obtener la posición ()coordenadas X e Y) de un elemento HTML mediante JavaScript?

14 de enero de 2009

Me gustaría saber cómo obtener la posición (coordenadas X e Y) de cualquier elemento de una página HTML mediante JavaScript.


Estás leyendo una traducción autorizada de la pregunta Retrieve the position (X,Y) of an HTML element planteada por Greg en StackOverflow.


Respuestas

#1

Lo más sencillo sería utilizar el método getBoundingClientRect() sobre el elemento para el que quieres obtener su posición:

var elemento = document.getElementById('id_del_elemento');
var posicion = elemento.getBoundingClientRect();
 
console.log(posicion.top, posicion.right, posicion.bottom, posicion.left);

Si lo anterior no te funciona, puedes probar con esta otra función:

function getOffset( el ) {
    var _x = 0;
    var _y = 0;
    while( el && !isNaN( el.offsetLeft ) && !isNaN( el.offsetTop ) ) {
        _x += el.offsetLeft - el.scrollLeft;
        _y += el.offsetTop - el.scrollTop;
        el = el.offsetParent;
    }
    return { top: _y, left: _x };
}
 
var elemento = document.getElementById('id_del_elemento');
var x = getOffset(elemento).left;
var y = getOffset(elemento).top;

@librosweb

9 octubre 2014, 23:03