如何獲取DOM中兩個元素之間的距離?DOM中兩個元素之間的距離(以像素爲單位)
我正在考慮使用getBoundingClientRect,但我沒有看到如何使用它來計算兩個元素之間的距離。所以,舉個例子,離一個人有多近。
如何獲取DOM中兩個元素之間的距離?DOM中兩個元素之間的距離(以像素爲單位)
我正在考慮使用getBoundingClientRect,但我沒有看到如何使用它來計算兩個元素之間的距離。所以,舉個例子,離一個人有多近。
假裝你有一個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);
這個答案是使用jQuery ...但是如果你不想使用jQuery,你可以用'var div1rect = document.getElementById(「div1」)替換前兩行。getBoundingClientRect( );'...... etc –
我基本上需要距離來估計網站上的「價格」可能是網站產品的價格。我想計算產品圖片(我知道它在哪裏)與頁面周圍的所有價格之間的距離。與產品圖片最接近的價格可能是該產品的價格:) –
此代碼是否可用? –
你試圖找到這兩個元素的左上邊角之間的區別? –
我實際上正在尋找找到距離的最佳方式。我不知道是否找到兩個元素左上角的區別。理想情況下,這兩個元素的中心不是? –
取決於你的最終目標是什麼。但我會根據這個答案 –