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.