找某个控件的坐标动态显示div(支持ie和ff)

看下面的例子,里面提供了一个得到元素绝对位置(坐标)的方法getElementPos(obj)
<HTML>
<BODY>
<div id="mydiv" style="position:absolute; display:none; background:#FF9933; height:80;width:120;"> I am div ^_^</div>
点击showDiv按钮在文本框下面出现一个DIV<br>
<table border=1>
<tr>
<td>
<table border=1>
<tr>
<td>aa</td>
<td>
<input type="text" id="test">
<button onclick="showDiv()">showDiv</button>
</td>
</tr>
</table>
</td>
</tr>
</table>

<SCRIPT LANGUAGE="JavaScript">
<!--
//得到某一元素的绝对位置,不管该元素嵌套在多复杂的位置里
function getElementPos(obj)
{
var left = 0;
var top = 0;

if(obj.x)
{
left= obj.x;
top = obj.y;
}else if(obj.offsetParent)
{
while(obj.offsetParent)
{
left += obj.offsetLeft;
top += obj.offsetTop;
obj = obj.offsetParent;
}
}

return [left,top];//封装在一个数组里
}
function showDiv()
{
var mydiv = document.getElementById("mydiv");
var pos = getElementPos(document.getElementById("test"));
mydiv.style.display = "";

mydiv.style.left = pos[0];
mydiv.style.top = pos[1] + document.getElementById("test").offsetHeight;
}
//-->
</SCRIPT>
</BODY>
</HTML>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值