UNPKG

cloud-ui.vusion

Version:
28 lines (22 loc) 771 B
let scrollBarWidth; export default function () { if (scrollBarWidth !== undefined) { return scrollBarWidth; } const outer = document.createElement('div'); outer.className = 'f-scroll-view__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; outer.parentNode.removeChild(outer); scrollBarWidth = widthNoScroll - widthWithScroll; return scrollBarWidth; }