123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- 'use strict';
- var containsNode = require('./containsNode');
- function getElementRect(elem) {
- var docElem = elem.ownerDocument.documentElement;
-
-
- if (!('getBoundingClientRect' in elem) || !containsNode(docElem, elem)) {
- return {
- left: 0,
- right: 0,
- top: 0,
- bottom: 0
- };
- }
-
-
-
-
- var rect = elem.getBoundingClientRect();
- return {
- left: Math.round(rect.left) - docElem.clientLeft,
- right: Math.round(rect.right) - docElem.clientLeft,
- top: Math.round(rect.top) - docElem.clientTop,
- bottom: Math.round(rect.bottom) - docElem.clientTop
- };
- }
- module.exports = getElementRect;
|