function getElementPosition(element) {
var result = new Object();
result.x = 0;
result.y = 0;
result.width = 0;
result.height = 0;
if (element.offsetParent) {
result.x = element.offsetLeft;
result.y = element.offsetTop;
var parent = element.offsetParent;
while (parent) {
result.x += parent.offsetLeft;
result.y += parent.offsetTop;
var parentTagName = parent.tagName.toLowerCase();
if (parentTagName != "table" &&
parentTagName != "body" &&
parentTagName != "html" &&
parentTagName != "div" &&
parent.clientTop &&
parent.clientLeft) {
result.x += parent.clientLeft;
result.y += parent.clientTop;
}
parent = parent.offsetParent;
}
}
else if (element.left && element.top) {
result.x = element.left;
result.y = element.top;
}
else {
if (element.x) {
result.x = element.x;
}
if (element.y) {
result.y = element.y;
}
}
if (element.offsetWidth && element.offsetHeight) {
result.width = element.offsetWidth;
result.height = element.offsetHeight;
}
else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
result.width = element.style.pixelWidth;
result.height = element.style.pixelHeight;
}
return result;
}var result = getElementPosition(ele);
alert(result.x + " " + result.y);
var result = new Object();
result.x = 0;
result.y = 0;
result.width = 0;
result.height = 0;
if (element.offsetParent) {
result.x = element.offsetLeft;
result.y = element.offsetTop;
var parent = element.offsetParent;
while (parent) {
result.x += parent.offsetLeft;
result.y += parent.offsetTop;
var parentTagName = parent.tagName.toLowerCase();
if (parentTagName != "table" &&
parentTagName != "body" &&
parentTagName != "html" &&
parentTagName != "div" &&
parent.clientTop &&
parent.clientLeft) {
result.x += parent.clientLeft;
result.y += parent.clientTop;
}
parent = parent.offsetParent;
}
}
else if (element.left && element.top) {
result.x = element.left;
result.y = element.top;
}
else {
if (element.x) {
result.x = element.x;
}
if (element.y) {
result.y = element.y;
}
}
if (element.offsetWidth && element.offsetHeight) {
result.width = element.offsetWidth;
result.height = element.offsetHeight;
}
else if (element.style && element.style.pixelWidth && element.style.pixelHeight) {
result.width = element.style.pixelWidth;
result.height = element.style.pixelHeight;
}
return result;
}var result = getElementPosition(ele);
alert(result.x + " " + result.y);
解决方案 »
- artDialog中使用jquery无法选择对象
- JS代码精简
- 关于js的键值数组
- CSDN出问题了!现在左边菜单点了第一次之后,再去点另外的节点就没用了!!
- JSONObject
- alter中不支持韩文与日文的原因?
- [求助]请问用window.open()打开的窗口和showModelessDialog()打开的窗口有什么不同????
- 怎么用javascript写一个小程序:一个下拉列表,选择一个后,在页面的其他地方把这个选择的值显示出来
- bootstrap validate验证通过以后,表单数据重置引起的问题
- jquery怎么清除div颜色
- var e=window.event.srcElement;什么意思?
- var a=document.getElementsByTagName("input");什么意思?
function Point(iX, iY)
{
this.x = iX;
this.y = iY;
}
function GetCoordinate(oTag)
{
var oTmp = oTag;
var pt = new Point(0,0);
do
{
pt.x += oTmp.offsetLeft;
pt.y += oTmp.offsetTop;
oTmp = oTmp.offsetParent;
} while(oTmp.tagName!="BODY");
return pt;
}
{
var obj=el,offset=new Object(),x=0,y=0;
while(obj&&obj.tagName != "BODY")
{
x+=obj.offsetLeft - obj.scrollLeft;
y+=obj.offsetTop - obj.scrollTop;
obj=obj.offsetParent;
}
offset.x=x;
offset.y=y;
return offset;
}
<table>
<tr>
<td>
<iframe id="main" src ="main.html" width="100%" height="100%" frameborder="0"></iframe>
</td>
<td>
<iframe id="ov" src ="ov.html" width="100%" height="100%" frameborder="0"></iframe>
</td>
</tr>
</table>
</body>main.html
<body>
<div id="main" style="width:100%; height:100%;">
</div>
</body>