这就是我计算元素的正确位置的方法,这也适用于滚动位置。
var element = $('#target');
console.log(getPosition(element));
getPosition = function (element) {
var xPosition = 0;
var yPosition = 0;
while (element) {
xPosition += (element.offsetLeft - element.scrollLeft + element.clientLeft);
yPosition += (element.offsetTop - element.scrollTop + element.clientTop);
element = element.offsetParent;
}
return { x: xPosition, y: yPosition };
};
但我收到错误'SVGElement.offsetLeft' is deprecated and will be removed in M50, around April 2016. See https://www.chromestatus.com/features/5724912467574784 for more details.
在我看来,我以错误的方式使用了offsetXY
......