Houn

2022.11.17 Web制作

スクロールで色が変わるヘッダーナビのjQueryサンプル

scroll-change-headernav

スクロールするとヘッダーナビのスタイルが変わるサンプルコードです。

よくあるケースが、メインビジュアル画像を敷いた上にナビを白文字で乗せて、コンテンツエリアまでスクロールするとサイトのデフォルトの文字色、黒に変わるような実装です。

HTML

最初に前提として、適用させたいHTMLファイルに下記の通りクラス名を付けておきます。

scroll-headernav-sample

色を変えたいヘッダー部分に.js-header、メインビジュアルに.js-mainVisualですね。

この要素をjQueryでいじっていきます。(もちろん命名規則との兼ね合いで適宜変えてもらって大丈夫ですし、idで降るでも。その場合は後述のjsも書き替えになります)

CSS

あとはCSSにもこう書いておきます。


.headerColor-default {
  color: #333;
  /* (画像よりも下までスクロールした時に変えたい文字色) */
}

「メインビジュアル画像を超えて下スクロールしたら、この.headerColor-defaultクラスを付けて文字色を変化させる」とします。

こちらも、クラス名はお好みでオッケーです。

jQuery

次に、jQueryで実際に要素をいじる処理を書いていきましょう。

メインビジュアルの高さを基準に、スクロール量によって.headerColor-defaultを付け外しして、色を変える。という内容になります。

挫折しないWeb制作学習ならデイトラがお勧めです

詳細は下記バナーをクリックして、公式サイトを覗いてみてください。

お問い合わせ