转自: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.