21 lines
		
	
	
		
			593 B
		
	
	
	
		
			JavaScript
		
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			593 B
		
	
	
	
		
			JavaScript
		
	
	
| import getScrollBarSize from './getScrollBarSize';
 | |
| 
 | |
| export default close => {
 | |
|   const bodyIsOverflowing =
 | |
|     document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) &&
 | |
|     window.innerWidth > document.body.offsetWidth;
 | |
|   if (!bodyIsOverflowing) {
 | |
|     return;
 | |
|   }
 | |
|   if (close) {
 | |
|     document.body.style.position = '';
 | |
|     document.body.style.width = '';
 | |
|     return;
 | |
|   }
 | |
|   const scrollBarSize = getScrollBarSize();
 | |
|   if (scrollBarSize) {
 | |
|     document.body.style.position = 'relative';
 | |
|     document.body.style.width = `calc(100% - ${scrollBarSize}px)`;
 | |
|   }
 | |
| };
 |