我想檢索從他自己的x中心座標開始的元素偏移量。如何查找元素的x中心座標和相關的窗口偏移
我該怎麼辦?
其實我能找到的窗口元素的偏移,但它從元素的這樣的邊界獲取座標:
var _position = $(this).offset();
我想檢索從他自己的x中心座標開始的元素偏移量。如何查找元素的x中心座標和相關的窗口偏移
我該怎麼辦?
其實我能找到的窗口元素的偏移,但它從元素的這樣的邊界獲取座標:
var _position = $(this).offset();
你必須使用offset()
獲得頂部和左側位置,然後加其中一半爲height()
和width()
值。這給出了中心座標。
var $this = $(this);
var offset = $this.offset();
var width = $this.width();
var height = $this.height();
var centerX = offset.left + width/2;
var centerY = offset.top + height/2;
你知道如果width()負責填充css規則嗎? – sbaaaang
不包括'padding'屬性。如果您還想包含填充,請使用'.outerWidth()'。 –
這現在可以通過本地JavaScript也可以做:
let centerX = targetNode.offsetLeft + targetNode.offsetWidth/2;
let centerY = targetNode.offsetTop + targetNode.offsetHeight/2;
其中targetNode是你想要得到它的中心座標的元素。
我不確定你想要得到什麼,你的元素中間位置而不是最左上角的位置?另外,$ position不是一個正確的語法,如果是這樣的話,只需將width/2添加到X,將height/2添加到height並且你很好。 –
@ShaiMishali這是正確的語法。它完美的作品。在JavaScript中命名變量只是不符合慣例。 –