ホームページ  >  記事  >  ウェブフロントエンド  >  スクロール位置に基づいてナビゲーション バーの色を動的に変更するにはどうすればよいですか?

スクロール位置に基づいてナビゲーション バーの色を動的に変更するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-27 08:40:11446ブラウズ

How Can I Dynamically Change My Navigation Bar's Color Based on Scroll Position?

スクロールによる動的なナビゲーション バーの色

プロジェクトで、下にスクロールした後にナビゲーション バーが背景色を取得する問題に直面していると述べました。 。これを解決するには、スクロール位置に基づいてナビゲーションバーの色を変更するソリューションを実装できます。

JavaScript 実装:

これを実現するには、次の JavaScript コードを追加します。 HTML ファイルのヘッダーに次のように追加します。

$(function () {
  $(document).scroll(function () {
    var $nav = $(".navbar-fixed-top");
    $nav.toggleClass('scrolled', $(this).scrollTop() > $nav.height());
  });
});

このスクリプトはスクロール位置を継続的に監視します。スクロールトップの値がナビゲーションバーの高さを超えると、「scrolled」というクラスがナビゲーションバーに追加され、色の変更がトリガーされます。

CSS スタイリング:

ナビゲーションバーの色を更新し、スタイルシートを作成して次の内容を含めます。 CSS:

.navbar-fixed-top.scrolled {
  background-color: #fff !important;
  transition: background-color 200ms linear;
}

「#fff」の値は好みの色にカスタマイズできます。 「スクロール」クラスがナビゲーションバーに適用されると、その背景色はスムーズに白に移行します。

例:

機能を説明するには、以下を参照してください。次の JsFiddle:

[JsFiddle Link]

この例では、下にスクロールするとナビゲーションバーが白になります。このソリューションを実装すると、スクロール位置に基づいてナビゲーション バーの色を動的に効果的に変更できます。

以上がスクロール位置に基づいてナビゲーション バーの色を動的に変更するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。