choerodon-ui
Version:
An enterprise-class UI design language and React-based implementation
40 lines (32 loc) • 1.22 kB
JavaScript
import { global } from 'choerodon-ui/shared';
export default function measureScrollbar() {
var direction = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'vertical';
if (typeof window === 'undefined') {
return 0;
}
if (direction === 'vertical') {
var SCROLL_BAR_WIDTH_VERTICAL = global.SCROLL_BAR_WIDTH_VERTICAL;
if (SCROLL_BAR_WIDTH_VERTICAL !== undefined) {
return SCROLL_BAR_WIDTH_VERTICAL;
}
} else {
var SCROLL_BAR_WIDTH_HORIZONTAL = global.SCROLL_BAR_WIDTH_HORIZONTAL;
if (SCROLL_BAR_WIDTH_HORIZONTAL !== undefined) {
return SCROLL_BAR_WIDTH_HORIZONTAL;
}
}
var scrollDiv = document.createElement('div');
scrollDiv.style.cssText = 'position: absolute;width: 50px;height: 50px;top: -9999px; overflow: scroll';
document.body.appendChild(scrollDiv);
var size = 0;
if (direction === 'vertical') {
size = scrollDiv.offsetWidth - scrollDiv.clientWidth;
global.SCROLL_BAR_WIDTH_VERTICAL = size;
} else {
size = scrollDiv.offsetHeight - scrollDiv.clientHeight;
global.SCROLL_BAR_WIDTH_HORIZONTAL = size;
}
document.body.removeChild(scrollDiv);
return size;
}
//# sourceMappingURL=measureScrollbar.js.map