devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
39 lines (36 loc) • 1.16 kB
JavaScript
/**
* DevExtreme (renovation/ui/scroll_view/utils/get_element_offset.js)
* Version: 21.1.4
* Build date: Mon Jun 21 2021
*
* Copyright (c) 2012 - 2021 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
exports.getWindowByElement = getWindowByElement;
exports.getElementOffset = getElementOffset;
var _type = require("../../../../core/utils/type");
function getWindowByElement(element) {
return (0, _type.isWindow)(element) ? element : element.defaultView
}
function getElementOffset(element) {
if (!element) {
return {
left: 0,
top: 0
}
}
if (!element.getClientRects().length) {
return {
top: 0,
left: 0
}
}
var rect = element.getBoundingClientRect();
var window = getWindowByElement(element.ownerDocument);
var docElem = element.ownerDocument.documentElement;
return {
top: rect.top + window.pageYOffset - docElem.clientTop,
left: rect.left + window.pageXOffset - docElem.clientLeft
}
}