js获取div到body左侧距离

详细注释
2024年11月22日 14:24
有2个网友回答
网友(1):

1、拖动后记录x,y值

给div加上mousePosition事件

function mousePosition(evt){  

evt = evt || window.event;  

return {  

x : evt.clientX + document.body.scrollLeft - document.body.clientLeft,  

y : evt.clientY + document.body.scrollTop - document.body.clientTop  

}  

}  

2、打开页面div定位

$(“div”).attr("top",y).attr("left",x);

扩展资料

在用js获取元素的位置之前,元素在页面的位置的计算公式,如下:

元素在页面的位置=此元素相对浏览器视窗的位置+浏览器滚动条的值;

用getBoundingClientRect()方法来获得某个元素相对浏览器视窗的位置 {这个方法返回的是一个对象,即Object,该对象具有4个属性:top,left,right,bottom }。

Demo

Demo为了方便就直接用绝对定位的元素

网友(2):

window.onload = function () {//文档加载完成时
getPoint(document.getElementById("div1"));//获取ID为div1元素的坐标
}
function getPoint(obj) { //获取某元素以浏览器左上角为原点的坐标
var t = obj.offsetTop; //获取该元素对应父容器的上边距
var l = obj.offsetLeft; //对应父容器的上边距
//判断是否有父容器,如果存在则累加其边距
while (obj = obj.offsetParent) {//等效 obj = obj.offsetParent;while (obj != undefined)
t += obj.offsetTop; //叠加父容器的上边距
l += obj.offsetLeft; //叠加父容器的左边距
}
alert("top: " + t + " left: " + l);
}