mirror of
				https://github.com/MarioSpore/Grinch-AP.git
				synced 2025-10-21 20:21:32 -06:00 
			
		
		
		
	
		
			
				
	
	
		
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| const adjustFooterHeight = () => {
 | |
|   // If there is no footer on this page, do nothing
 | |
|   const footer = document.getElementById('island-footer');
 | |
|   if (!footer) { return; }
 | |
| 
 | |
|   // If the body is taller than the window, also do nothing
 | |
|   if (document.body.offsetHeight > window.innerHeight) {
 | |
|     footer.style.marginTop = '0';
 | |
|     return;
 | |
|   }
 | |
| 
 | |
|   // Add a margin-top to the footer to position it at the bottom of the screen
 | |
|   const sibling = footer.previousElementSibling;
 | |
|   const margin = (window.innerHeight - sibling.offsetTop - sibling.offsetHeight - footer.offsetHeight);
 | |
|   if (margin < 1) {
 | |
|     footer.style.marginTop = '0';
 | |
|     return;
 | |
|   }
 | |
|   footer.style.marginTop = `${margin}px`;
 | |
| };
 | |
| 
 | |
| const adjustHeaderWidth = () => {
 | |
|   // If there is no header, do nothing
 | |
|   const header = document.getElementById('base-header');
 | |
|   if (!header) { return; }
 | |
| 
 | |
|   const tempDiv = document.createElement('div');
 | |
|   tempDiv.style.width = '100px';
 | |
|   tempDiv.style.height = '100px';
 | |
|   tempDiv.style.overflow = 'scroll';
 | |
|   tempDiv.style.position = 'absolute';
 | |
|   tempDiv.style.top = '-500px';
 | |
|   document.body.appendChild(tempDiv);
 | |
|   const scrollbarWidth = tempDiv.offsetWidth - tempDiv.clientWidth;
 | |
|   document.body.removeChild(tempDiv);
 | |
| 
 | |
|   const documentRoot = document.compatMode === 'BackCompat' ? document.body : document.documentElement;
 | |
|   const margin = (documentRoot.scrollHeight > documentRoot.clientHeight) ? 0-scrollbarWidth : 0;
 | |
|   document.getElementById('base-header-right').style.marginRight = `${margin}px`;
 | |
| };
 | |
| 
 | |
| window.addEventListener('load', () => {
 | |
|   window.addEventListener('resize', adjustFooterHeight);
 | |
|   window.addEventListener('resize', adjustHeaderWidth);
 | |
|   adjustFooterHeight();
 | |
|   adjustHeaderWidth();
 | |
| });
 | 
