Ищу похожее на pageX свойство
Делаю Drag and Drop на сайте. У меня расчитывается положение и перемещение элемента с помощью этих строчек:
// запомним, что элемент нажат на текущих координатах pageX/pageY
dragObject.downX = e.pageX;
dragObject.downY = e.pageY;
// создать вспомогательные свойства shiftX/shiftY
var coords = getCoords(dragObject.avatar);
dragObject.shiftX = dragObject.downX - coords.left;
dragObject.shiftY = dragObject.downY - coords.top;
// отобразить перенос объекта при каждом движении мыши
dragObject.avatar.style.left = e.pageX - dragObject.shiftX + 'px';
dragObject.avatar.style.top = e.pageY - dragObject.shiftY + 'px';
function getCoords(elem){
top: box.top + pageYOffset,
left: box.left + pageXOffset
}
Но так как relative для этого элемента менее широкий и ниже, чем вся страница, то отображение происходит некорректно. И если высота фиксированая и можно просто вычесть разницу, то ширина не фиксирована.
Вопрос: Есть ли какое-то свойство идентичное pageX/Y, которое будет считать координаты относительно relative? Или есть другой способ реализовать это корректно?
Источник: Stack Overflow на русском