Как найти координаты центра элемента x и соответствующее смещение окна - PullRequest
28 голосов
/ 06 ноября 2011

Я хотел бы получить смещение элемента, начиная с его собственных координат центра х.

как я могу это сделать?

На самом деле я могу найти смещение окна элемента, но оно получаеткоординаты от границы элемента так:

var _position = $(this).offset();

Ответы [ 2 ]

61 голосов
/ 06 ноября 2011

Вы должны использовать 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();
9 голосов
/ 25 октября 2017

Теперь это можно сделать через собственный Javascript:

let centerX = targetNode.offsetLeft + targetNode.offsetWidth / 2;
let centerY = targetNode.offsetTop + targetNode.offsetHeight / 2;

, где targetNode - это элемент, для которого вы хотите получить координаты центра.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...