mirror of
				https://github.com/explosion/spaCy.git
				synced 2025-11-04 01:48:04 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			24 lines
		
	
	
		
			802 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			24 lines
		
	
	
		
			802 B
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
//- 💫 MAIN JAVASCRIPT
 | 
						|
 | 
						|
'use strict'
 | 
						|
 | 
						|
{
 | 
						|
    const nav = document.querySelector('.js-nav')
 | 
						|
    const fixedClass = 'is-fixed'
 | 
						|
    let vh, scrollY = 0, scrollUp = false
 | 
						|
 | 
						|
    const updateVh = () => Math.max(document.documentElement.clientHeight, window.innerHeight || 0)
 | 
						|
 | 
						|
    const updateNav = () => {
 | 
						|
        const vh = updateVh()
 | 
						|
        const newScrollY = (window.pageYOffset || document.scrollTop) - (document.clientTop || 0)
 | 
						|
        if (newScrollY != scrollY) scrollUp = newScrollY <= scrollY
 | 
						|
        scrollY = newScrollY
 | 
						|
 | 
						|
        if(scrollUp && !(isNaN(scrollY) || scrollY <= vh)) nav.classList.add(fixedClass)
 | 
						|
        else if (!scrollUp || (isNaN(scrollY) || scrollY <= vh/2)) nav.classList.remove(fixedClass)
 | 
						|
    }
 | 
						|
 | 
						|
    window.addEventListener('scroll', () => requestAnimationFrame(updateNav))
 | 
						|
}
 |