UNPKG

overscroll

Version:
34 lines (29 loc) 982 B
"use strict"; exports.__esModule = true; var getOffset = exports.getOffset = function getOffset(_ref) { var win = _ref.win, body = _ref.body, html = _ref.html; return function (node) { var box = node.getBoundingClientRect(); // < ie8 不支持 win.pageXOffset, 则使用 html.scrollLeft return { left: box.left + (win.pageXOffset || html.scrollLeft) - (html.clientLeft || body.clientLeft || 0), top: box.top + (win.pageYOffset || html.scrollTop) - (html.clientTop || body.clientTop || 0) }; }; }; var getPosition = exports.getPosition = function getPosition(scope) { return function (node) { // if ( node.parentNode === scope.body ) { // return getOffset( scope )( node ); // } var parent = node.parentNode; var parentOffset = getOffset(scope)(parent); var offset = getOffset(scope)(node); return { left: offset.left - parentOffset.left, top: offset.top - parentOffset.top }; }; };