DOM 中两个元素之间的距离(以 px 为单位)

Distance (in px) between two elements in the DOM

本文关键字:距离 px 为单位 之间 两个 DOM 元素      更新时间:2023-09-26

如何获取DOM中两个元素之间的距离?

我正在考虑使用 getBoundingClientRect,但我看不出如何使用它来计算两个元素之间的距离。因此,例如,a 与 .

假设你有一个 id div1 的div 和一个 id div2 的div。你可以用一些简单的数学来计算从div1的中心到div2中心的距离(以像素为单位)。

// get the bounding rectangles
var div1rect = $("#div1")[0].getBoundingClientRect();
var div2rect = $("#div2")[0].getBoundingClientRect();
// get div1's center point
var div1x = div1rect.left + div1rect.width/2;
var div1y = div1rect.top + div1rect.height/2;
// get div2's center point
var div2x = div2rect.left + div2rect.width/2;
var div2y = div2rect.top + div2rect.height/2;
// calculate the distance using the Pythagorean Theorem (a^2 + b^2 = c^2)
var distanceSquared = Math.pow(div1x - div2x, 2) + Math.pow(div1y - div2y, 2);
var distance = Math.sqrt(distanceSquared);