Javascript 使用jquery计算div中心到屏幕中心的直接(对角线)距离
嘿 是否可以使用jquery读取/计算div中心与屏幕中心之间的直接距离 我不需要从div到屏幕垂直中心的距离(仅提供高度上的距离)或到屏幕水平中心的距离(仅提供宽度上的距离),而是对角线距离 对于像素,这是可能的吗 提前谢谢你的帮助, 问候Javascript 使用jquery计算div中心到屏幕中心的直接(对角线)距离,javascript,jquery,distance,Javascript,Jquery,Distance,嘿 是否可以使用jquery读取/计算div中心与屏幕中心之间的直接距离 我不需要从div到屏幕垂直中心的距离(仅提供高度上的距离)或到屏幕水平中心的距离(仅提供宽度上的距离),而是对角线距离 对于像素,这是可能的吗 提前谢谢你的帮助, 问候 Lucas无论你是如何向下滚动页面,这都应该有效 let element = document.getElementById("someId"); let elementPosition = getCenterOfElement(element); let
Lucas无论你是如何向下滚动页面,这都应该有效
let element = document.getElementById("someId");
let elementPosition = getCenterOfElement(element);
let documentPosition = getCenterOfPage();
let result = calculateDistance(documentPosition , elementPosition);
function getCenterOfPage() {
let x = $(document).width()/2;
let y = $(document).height()/2;
let coordinates = {x, y};
return coordinates;
}
function getCenterOfElement(element) {
let x = $(element).offset().left + $(element).outerWidth()/2;
let y = $(element).offset().top + $(element).outerHeight()/2;
let coordinates = {x, y};
return coordinates;
}
function calculateDistance(coordinates1, coordinates2) {
let h = coordinates1.x - coordinates2.x;
let v = coordinates1.y - coordinates2.y;
let result = Math.sqrt(h*h + v*v);
return result;
}
如果您可以计算水平距离(
h
)和垂直距离(v
),请使用毕达哥拉斯公式对角线=数学.sqrt(h*h+v*v)
。感谢@kloikfriend让我走上了正确的道路,它很有魅力。:-)