devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
32 lines (30 loc) • 1.15 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/scroll_view/utils/get_relative_offset.js)
* Version: 24.2.6
* Build date: Mon Mar 17 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRelativeOffset = getRelativeOffset;
function getRelativeOffset(targetElementClass, sourceElement) {
const offset = {
left: 0,
top: 0
};
let element = sourceElement;
while (null !== (_element = element) && void 0 !== _element && _element.offsetParent && !element.classList.contains(targetElementClass)) {
var _element;
const parentElement = element.offsetParent;
const elementRect = element.getBoundingClientRect();
const parentElementRect = parentElement.getBoundingClientRect();
offset.left += elementRect.left - parentElementRect.left;
offset.top += elementRect.top - parentElementRect.top;
element = element.offsetParent
}
return offset
}