我有两个要在XHTML页面中浮动的项目。不幸的是,当我尝试获取最右边的项目的偏移量时……它返回为元素未浮动时所处的位置。
<div id="Left style="float:right"></div>
<div id="right" style="float:right"></div>
Using Jquery
<script type="text/javascript">
var right = $("#right");
alert(right[0].offsetLeft);
</script>
我需要做这样的事情吗?
function findPos(obj) {
var curleft = curtop = 0;
if (obj.offsetParent)
{
do
{
curleft += obj.offsetLeft;
curtop += obj.offsetTop;
} while (obj = obj.offsetParent);
}
}
最佳答案
您似乎正在寻找页面位置。
所以是的,您将使用类似以下的功能:
function aGetElementsPagePosition (zElement)
{
var iLeftOffset = zElement.offsetLeft;
var iTopOffset = zElement.offsetTop;
while (zElement = zElement.offsetParent)
{
iLeftOffset += zElement.offsetLeft;
iTopOffset += zElement.offsetTop;
}
return [iLeftOffset, iTopOffset];
}