custom-app
Version:
ITIMS��Ʒ�鿪��ר��React���,�Dz��ý��ּ�dhcc-app���������
45 lines (34 loc) • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = inViewport;
var _getElementPosition = require('./getElementPosition');
var _getElementPosition2 = _interopRequireDefault(_getElementPosition);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var isHidden = function isHidden(element) {
return element.offsetParent === null;
};
function inViewport(element, container, customOffset) {
if (isHidden(element)) {
return false;
}
var top = void 0;
var bottom = void 0;
var left = void 0;
var right = void 0;
if (typeof container === 'undefined' || container === window) {
top = window.pageYOffset;
left = window.pageXOffset;
bottom = top + window.innerHeight;
right = left + window.innerWidth;
} else {
var containerPosition = (0, _getElementPosition2.default)(container);
top = containerPosition.top;
left = containerPosition.left;
bottom = top + container.offsetHeight;
right = left + container.offsetWidth;
}
var elementPosition = (0, _getElementPosition2.default)(element);
return top <= elementPosition.top + element.offsetHeight + customOffset.top && bottom >= elementPosition.top - customOffset.bottom && left <= elementPosition.left + element.offsetWidth + customOffset.left && right >= elementPosition.left - customOffset.right;
}