转自:http://tianke66.iteye.com/blog/340100
获取页面某一元素的绝对X,Y坐标,可以用offset()方法:
var X = $('#DivID').offset().top;
var Y = $('#DivID').offset().left;
获取相对(父元素)位置:
var X = $('#DivID').position().top;
var Y = $('#DivID').position().left;
注: 通过getBoundingClientRect方法获取对象位置,包含: left , top , right , bottom 4个参数值。
Firefox:
element.getBoundingClientRect
Summary
Returns a text rectangle object that encloses a group of text rectangles.
Syntax
var rectObject
= object
.getBoundingClientRect();
Returns
The returned value is a TextRectangle object which is the union of the rectangles returned by getClientRects() for the element, i.e., the CSS border-boxes associated with the element.
The returned value is a TextRectangle object, which contains read-only left , top , right and bottom properties describing the border-box, in pixels, with the top-left relative to the top-left of the viewport , unless the element is inside an SVG foreignobject element, in which case the top-left is relative to the nearest foreignobject ancestor and in the coordinate system of that foreignobject .
IEgetBoundingClientRect Method Internet Development Index
Retrieves an object that specifies the bounds of a collection of TextRectangle objects.
Syntax
oRect
= object
.getBoundingClientRect(
)
Return Value
Returns a TextRectangle object. Each rectangle has four integer properties (top , left , right , and bottom ) that represent a coordinate of the rectangle, in pixels.
Remarks
This method retrieves an object that exposes the left, top, right, and bottom coordinates of the union of rectangles relative to the client's upper-left corner. In Microsoft® Internet Explorer 5, the window's upper-left is at 2,2 (pixels) with respect to the true client.
获取页面某一元素的绝对X,Y坐标,可以用offset()方法:
var X = $('#DivID').offset().top;
var Y = $('#DivID').offset().left;
获取相对(父元素)位置:
var X = $('#DivID').position().top;
var Y = $('#DivID').position().left;
注: 通过getBoundingClientRect方法获取对象位置,包含: left , top , right , bottom 4个参数值。
Firefox:
element.getBoundingClientRect
Summary
Returns a text rectangle object that encloses a group of text rectangles.
Syntax
var rectObject
= object
.getBoundingClientRect();
Returns
The returned value is a TextRectangle object which is the union of the rectangles returned by getClientRects() for the element, i.e., the CSS border-boxes associated with the element.
The returned value is a TextRectangle object, which contains read-only left , top , right and bottom properties describing the border-box, in pixels, with the top-left relative to the top-left of the viewport , unless the element is inside an SVG foreignobject element, in which case the top-left is relative to the nearest foreignobject ancestor and in the coordinate system of that foreignobject .
IEgetBoundingClientRect Method Internet Development Index
Retrieves an object that specifies the bounds of a collection of TextRectangle objects.
Syntax
oRect
= object
.getBoundingClientRect(
)
Return Value
Returns a TextRectangle object. Each rectangle has four integer properties (top , left , right , and bottom ) that represent a coordinate of the rectangle, in pixels.
Remarks
This method retrieves an object that exposes the left, top, right, and bottom coordinates of the union of rectangles relative to the client's upper-left corner. In Microsoft® Internet Explorer 5, the window's upper-left is at 2,2 (pixels) with respect to the true client.
本文详细介绍了如何使用JavaScript获取网页中某元素的绝对X,Y坐标,并探讨了offset()方法和getBoundingClientRect方法的区别与用法。重点突出获取元素位置的技术要点和注意事项。

被折叠的 条评论
为什么被折叠?



