javascript – How do I find the absolute position of an element using jQuery?

javascript – How do I find the absolute position of an element using jQuery?

.offset() will return the offset position of an element as a simple object, eg:

var position = $(element).offset(); // position = { left: 42, top: 567 }

You can use this return value to position other elements at the same spot:

$(anotherElement).css(position)

Note that $(element).offset() tells you the position of an element relative to the document. This works great in most circumstances, but in the case of position:fixed you can get unexpected results.

If your document is longer than the viewport and you have scrolled vertically toward the bottom of the document, then your position:fixed elements offset() value will be greater than the expected value by the amount you have scrolled.

If you are looking for a value relative to the viewport (window), rather than the document on a position:fixed element, you can subtract the documents scrollTop() value from the fixed elements offset().top value. Example: $(#el).offset().top - $(document).scrollTop()

If the position:fixed elements offset parent is the document, you want to read parseInt($.css(top)) instead.

javascript – How do I find the absolute position of an element using jQuery?

Leave a Reply

Your email address will not be published.