怎么动态获取div的坐标

没有设置Left值,什么属性也没有,只有onmouseover事件,在时间里想获取div的坐标怎么实现啊。... 没有设置Left值,什么属性也没有,只有onmouseover事件,在时间里想获取div的坐标怎么实现啊。 展开
 我来答
百度网友96ffcf7
推荐于2016-06-05 · 知道合伙人互联网行家
百度网友96ffcf7
知道合伙人互联网行家
采纳数:22721 获赞数:118726
从事多年网络方面工作,有丰富的互联网经验。

向TA提问 私信TA
展开全部

Js代码 

/***
* 获取div的坐标
* @param divObj
* @returns {{width: number, height: number, left: *, top: Window}}
*/
com.whuang.hsj.divCoordinate=function(divObj){
if(typeof divObj == 'string'){
divObj=com.whuang.hsj.$$id('divObj');
}
return {'width':divObj.offsetWidth,'height':divObj.offsetHeight,
'x':divObj.offsetLeft,'y':divObj.offsetTop,
'scrollLeft':com.whuang.hsj.getScroll().left,'scrollTop':com.whuang.hsj.getScroll().top};
}
// Cross browser gets the position of scroll
com.whuang.hsj.getScroll=function(){
return {
top:document.documentElement.scrollTop || document.body.scrollTop,
left:document.documentElement.scrollLeft || document.body.scrollLeft
}
}

苜蓿艹
推荐于2016-07-14 · 超过15用户采纳过TA的回答
知道答主
回答量:44
采纳率:0%
帮助的人:0
展开全部
标准写法!其他写法都不靠谱!这种写法兼容各种浏览器

//el 节点对象

function getel(el){
var _t=0;
var _l=0;
if (document.documentElement.getBoundingClientRect){
var box = el.getBoundingClientRect();
var oDoc = el.ownerDocument;
//alert(navigator.appVersion);
if(navigator.userAgent.indexOf("MSIE 6.0") >= 0)
{
_t = box.top -2+ getScrollTop(oDoc);
_l = box.left -2+ getScrollLeft(oDoc);
}else
{
_t = box.top + getScrollTop(oDoc);
_l = box.left + getScrollLeft(oDoc);
}
}else{
while (el.offsetParent) {
_t += el.offsetTop;
_l += el.offsetLeft;
el = el.offsetParent;
}
}
return {top:_t,left:_l};
}

function getScrollTop(doc){
doc = doc || document;
return Math.max(doc.documentElement.scrollTop, doc.body.scrollTop);
}
function getScrollLeft(doc){
doc = doc || document;
return Math.max(doc.documentElement.scrollLeft, doc.body.scrollLeft);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
日拱一卒行则将至
2010-05-28 · TA获得超过508个赞
知道小有建树答主
回答量:707
采纳率:0%
帮助的人:314万
展开全部
var top =document.getElementById('div1').top
var left = document.getElementById('div1').left
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友df994bc
2010-05-28 · TA获得超过746个赞
知道小有建树答主
回答量:407
采纳率:0%
帮助的人:316万
展开全部
html代码:
<div onmouseover="getAbsPoint(this)"></div>
script代码:
function getAbsPoint(e)
{
var x = e.offsetLeft, y = e.offsetTop;
while(e=e.offsetParent)
{
x += e.offsetLeft;
y += e.offsetTop;
}
alert("x:"+x+","+"y:"+y);
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式