我希望能够从元素自身的x中心坐标开始获取元素偏移量。
我该如何实现呢?
实际上,我可以找到一个元素的窗口偏移量,但它检索的坐标是来自元素边框的,就像这样:
var _position = $(this).offset();
我希望能够从元素自身的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;
如果你需要在计算时考虑padding属性,请使用以下代码:
var width = $this.outerWidth();
var height = $this.outerHeight();
padding
属性。如果您想包括padding
,请使用.outerWidth()
。 - Rob W现在也可以通过本地Javascript来完成这个操作:
let centerX = targetNode.offsetLeft + targetNode.offsetWidth / 2;
let centerY = targetNode.offsetTop + targetNode.offsetHeight / 2;
targetNode是您想要获取其中心坐标的元素。