From a2a9434636ae4d9237d69b6c3bc8f538570129e9 Mon Sep 17 00:00:00 2001 From: Terry Truong Date: Fri, 27 May 2022 20:53:17 +1000 Subject: Add back code that dynamically gets scrollbar widths Was deleted due to apparent redundancy. Turns out it was still needed for overflown-node layout. --- src/lib.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'src/lib.ts') diff --git a/src/lib.ts b/src/lib.ts index 69fac57..c13992c 100644 --- a/src/lib.ts +++ b/src/lib.ts @@ -111,3 +111,21 @@ export function capitalizeWords(str: string){ return str.replace(/\b\w/g, x => x.toUpperCase()); // '\b' matches word boundary, '\w' is like [a-zA-Z0-9_], } +// Dynamically obtains scroll bar width +// From stackoverflow.com/questions/13382516/getting-scroll-bar-width-using-javascript +export function getScrollBarWidth(){ + // Create hidden outer div + let outer = document.createElement('div'); + outer.style.visibility = 'hidden'; + outer.style.overflow = 'scroll'; + document.body.appendChild(outer); + // Create inner div + let inner = document.createElement('div'); + outer.appendChild(inner); + // Get width difference + let scrollBarWidth = outer.offsetWidth - inner.offsetWidth; + // Remove temporary divs + outer.parentNode!.removeChild(outer); + // + return scrollBarWidth; +} -- cgit v1.2.3