🔰はじめての方へ

【CSS・js】ヘッダーをスクロールに合わせて表示・非表示させる(jQueryなし)

記事内に広告が含まれています。
スポンサーリンク
header {
    position: fixed;  
    top: 0;  
    left: 0;  
    z-index: 99;
    height: 5.5em;
    transition: transform 0.3s 0.1s;
}

/* スクロールするとヘッダーが隠れる */
header.hidden {
    transform: translateY(-5.5em);
}
const header = document.querySelector('header');
let prevY = window.scrollY; 

window.addEventListener('scroll', () => {
  const currentY = window.scrollY;
  if (currentY < prevY) { 
    header.classList.remove('hidden'); 
  } else { 
  if (currentY > 0) {
      header.classList.add('hidden'); 
    }
  }
  prevY = currentY; 
});

参考サイト

【ほぼコピペで完成】スクロールに合わしてヘッダーを表示・非表示する - Qiita
経緯ちょっとオシャレ?なヘッダーを作ってみたくなった備忘録です。railsで普段開発してるので最後はrailsで導入する方法もサラッと書いてます。完成形 See the Pen Untitled by okok111 …

とてもわかりやすかったです!

コメント