关于javascript中获取坐标的问题(defaultView.getComputedStyle)?
关于javascript中获取坐标的问题(defaultView.getComputedStyle)?我写了一个js,用defaultView.getComputedSt...
关于javascript中获取坐标的问题(defaultView.getComputedStyle)?
我写了一个js,用defaultView.getComputedStyle方法获取网页中一个div的坐标
function place()
{
var div=document.getElementById("test");
top=document.defaultView.getComputedStyle(div,null).top;
left=document.defaultView.getComputedStyle(div,null).left;
alert("上:"+top+"左:"+left);
}
在style中设置该div的坐标是top=150px;left=150px;如果正常的弹出的alert应该都显示上和左坐标值,但在IE中没有显示,因为好像IE对这个不适用,但在其他的浏览器中缺都显示的不一样!只有苹果浏览器显示了2个坐标值(数值),在oprea 谷歌和 火狐只显示了left坐标值,top坐标值显示为 object Windows,这是为什么?
有没有那个方法可以在任何浏览器中获取正确坐标值并可以使用的! 展开
我写了一个js,用defaultView.getComputedStyle方法获取网页中一个div的坐标
function place()
{
var div=document.getElementById("test");
top=document.defaultView.getComputedStyle(div,null).top;
left=document.defaultView.getComputedStyle(div,null).left;
alert("上:"+top+"左:"+left);
}
在style中设置该div的坐标是top=150px;left=150px;如果正常的弹出的alert应该都显示上和左坐标值,但在IE中没有显示,因为好像IE对这个不适用,但在其他的浏览器中缺都显示的不一样!只有苹果浏览器显示了2个坐标值(数值),在oprea 谷歌和 火狐只显示了left坐标值,top坐标值显示为 object Windows,这是为什么?
有没有那个方法可以在任何浏览器中获取正确坐标值并可以使用的! 展开
1个回答
展开全部
用offsetTop与offsetLeft试试
追问
请解释下,我从未见过offsetTop和offsetLeft?是所有浏览器通用的吗?
追答
当然,IE 6\7\8\9,Firefox我都测试过,代码如下
function posdiv(){
var pos=document.getElementById("pos"),div=document.getElementById("div");
var top=0,left=0;
do{
top+=pos.offsetTop,left+=pos.offsetLeft;
pos=pos.offsetParent;
}while(pos.offsetParent);
div.style.top=top+"px";
div.style.left=left+"px";
}
定位
占位符
要定位的元素
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询