UNPKG

zent

Version:

一套前端设计语言和基于React的实现

40 lines (34 loc) 989 B
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports['default'] = findPositionedParent; /** * Find the first positioned ancestor up in the DOM tree. * * @param {Node} elem dom element to search from * @param {boolean} inclusive true if elem is considered an ancestor of itself * * @return {Node} the first positioned ancestor node */ function findPositionedParent(elem) { var inclusive = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false; function isPositioned(node) { var cs = getComputedStyle(node); var pos = cs.getPropertyValue('position'); return pos !== 'static'; } if (!elem) { return null; } if (inclusive && isPositioned(elem)) { return elem; } for (var parent = elem.parentElement; parent !== null; parent = parent.parentElement) { if (isPositioned(parent)) { return parent; } } return document.documentElement; } module.exports = exports['default'];