UNPKG

element-react-codish

Version:
27 lines (20 loc) 730 B
let scrollBarWidth; export function getScrollBarWidth() { if (scrollBarWidth !== undefined) return scrollBarWidth; const outer = document.createElement('div'); outer.className = 'el-scrollbar__wrap'; outer.style.visibility = 'hidden'; outer.style.width = '100px'; outer.style.position = 'absolute'; outer.style.top = '-9999px'; document.body.appendChild(outer); const widthNoScroll = outer.offsetWidth; outer.style.overflow = 'scroll'; const inner = document.createElement('div'); inner.style.width = '100%'; outer.appendChild(inner); const widthWithScroll = inner.offsetWidth; scrollBarWidth = widthNoScroll - widthWithScroll; outer.parentNode.removeChild(outer); return scrollBarWidth; }