js或jquery怎样获取htm中div控件相对于页面的left和top值 起初我直接通过div.style.top来获取,但是这个div的style中并没有设置过top值,并且是相对位置,所以获取的值为空。 我要得到它相对于整个页面的坐标,怎样可行呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 offsetTop是相对于上一层的父容器的位置吧?我要的是相对于整个页面的坐标啊? <div id="test" style="position:absolute; left:100px; top:200px;">123</div><script>/** * 坐标 * @param x * @param y * @return */ function CPos(x, y) { this.x = x; this.y = y; } /** * 得到对象的相对浏览器的坐标 * @param ATarget * @return */ function GetObjPos(ATarget) { var target = ATarget; var pos = new CPos(target.offsetLeft, target.offsetTop); var target = target.offsetParent; while (target) { pos.x += target.offsetLeft; pos.y += target.offsetTop; target = target.offsetParent } return pos; } var obj = document.getElementById('test') alert(GetObjPos(obj)['y']) //y坐标 alert(GetObjPos(obj)['x']) //x坐标 </script>看看这个例子。。 大家能帮忙看看如何实现这个功能吗? 请大家帮帮忙 Ext 树之间的拖拽 请问一个jQuery的问题,谢谢 javascript怎样让任务栏中的IE窗口按钮闪烁? js如何从td中移除一个span? 怎样用正则表达式判断一个字符串中不含有<&|"/ 这几个字符 可不可以使到页面内的某一个列表框隔一段时间自动刷新数据,因为现在只是这个列表框的数据是从一个动态的变量得来了,而整个页面其他地方 在一个纯HTML页面中实现自动更新 java Script onclick事件问题 js赋值的小问题 用JS获取URL地址里面的内容
offsetTop是相对于上一层的父容器的位置吧?我要的是相对于整个页面的坐标啊?
<div id="test" style="position:absolute; left:100px; top:200px;">123</div>
<script>/**
* 坐标
* @param x
* @param y
* @return
*/
function CPos(x, y)
{
this.x = x;
this.y = y;
}
/**
* 得到对象的相对浏览器的坐标
* @param ATarget
* @return
*/
function GetObjPos(ATarget)
{
var target = ATarget;
var pos = new CPos(target.offsetLeft, target.offsetTop);
var target = target.offsetParent;
while (target)
{
pos.x += target.offsetLeft;
pos.y += target.offsetTop;
target = target.offsetParent
}
return pos;
}
var obj = document.getElementById('test')
alert(GetObjPos(obj)['y']) //y坐标
alert(GetObjPos(obj)['x']) //x坐标
</script>看看这个例子。。