1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- 'use strict';
- var getStyleProperty = require('./getStyleProperty');
- function _isNodeScrollable(element, name) {
- var overflow = Style.get(element, name);
- return overflow === 'auto' || overflow === 'scroll';
- }
- var Style = {
-
- get: getStyleProperty,
-
- getScrollParent: function getScrollParent(node) {
- if (!node) {
- return null;
- }
- var ownerDocument = node.ownerDocument;
- while (node && node !== ownerDocument.body) {
- if (_isNodeScrollable(node, 'overflow') || _isNodeScrollable(node, 'overflowY') || _isNodeScrollable(node, 'overflowX')) {
- return node;
- }
- node = node.parentNode;
- }
- return ownerDocument.defaultView || ownerDocument.parentWindow;
- }
- };
- module.exports = Style;
|