How to grab the x, y position of html elements with javascript

30,355

Solution 1

Use getBoundingClientRect: http://ejohn.org/blog/getboundingclientrect-is-awesome/

For example:

var div = document.getElementById("yourDiv");
var rect = div.getBoundingClientRect();
alert("Coordinates: " + rect.left + "px, " + rect.top + "px");

Remember that getBoundingClientRect gives the coordinates relative to the current viewport, which means that if you want to know the coordinates relative to the document.body, you have to add the horizontal and vertical scroll amounts (document.documentElement.scrollLeft or document.body.scrollLeft for Firefox, and .scrollTop of course).

Solution 2

If I understand, you want to do this http://www.quirksmode.org/js/findpos.html

Solution 3

The examples bellow show how to retrieve the ClientRect of an HTML Element

# first tag link of this page
document.getElementsByClassName('post-taglist')[0].children[0].getClientRects()[0]
# question div
document.getElementById('question').getClientRects()[0]

With it you have acces to right, top, height, width, left and bottom attributes.

Share:
30,355
Nudier Mena
Author by

Nudier Mena

I'm a web developer living in colombia, interesting in .NET technology specially asp.net, c#, vb.net, transt sqlserver and a liitle bit from sharepoint... If you want to follow me you can find me on twitter as @nudierweb

Updated on July 23, 2022

Comments

  • Nudier Mena
    Nudier Mena almost 2 years

    I have in my html document several div elements with certain css class and want to get x, y position of those elements, thanks in advance.