35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
// 等待 docsify 完成页面渲染后执行
 | 
						||
window.$docsify.plugins = [].concat(window.$docsify.plugins || [], function(hook) {
 | 
						||
  hook.ready(function() {
 | 
						||
    let lastScrollTop = 0;
 | 
						||
    let scrolling = false;
 | 
						||
 | 
						||
    // 创建一个获取 header 的函数
 | 
						||
    function getHeader() {
 | 
						||
      return document.querySelector('.header');
 | 
						||
    }
 | 
						||
 | 
						||
    window.addEventListener('scroll', function() {
 | 
						||
      if (!scrolling) {
 | 
						||
        window.requestAnimationFrame(function() {
 | 
						||
          const header = getHeader();
 | 
						||
          if (!header) return; // 如果没有找到 header,直接返回
 | 
						||
 | 
						||
          let currentScrollTop = window.pageYOffset || document.documentElement.scrollTop;
 | 
						||
          
 | 
						||
          if (currentScrollTop > lastScrollTop && currentScrollTop > 50) { // 添加一个最小滚动距离
 | 
						||
            // 向下滚动
 | 
						||
            header.style.transform = 'translateY(-100%)';
 | 
						||
          } else {
 | 
						||
            // 向上滚动
 | 
						||
            header.style.transform = 'translateY(0)';
 | 
						||
          }
 | 
						||
          
 | 
						||
          lastScrollTop = currentScrollTop;
 | 
						||
          scrolling = false;
 | 
						||
        });
 | 
						||
        scrolling = true;
 | 
						||
      }
 | 
						||
    });
 | 
						||
  });
 | 
						||
}); |