JavaScript を使用して、Web ページの上部にある固定ナビゲーション バーのスクロール効果と非表示効果を実現するにはどうすればよいですか?

WBOY
リリース: 2023-10-16 08:58:41
オリジナル
839 人が閲覧しました

如何使用 JavaScript 实现网页顶部固定导航栏的滚动隐藏效果?

JavaScript を使用して、Web ページの上部にある固定ナビゲーション バーのスクロール効果と非表示効果を実現するにはどうすればよいですか?

今日のインターネット時代では、Web デザインは多くの場合、ユーザー エクスペリエンスとページ機能の整合性に焦点を当てています。 Web ナビゲーション バーはユーザーと Web サイトの間の橋渡しとなるため、ユーザーが必要な情報をすぐに見つけられるように、通常、ナビゲーション バーはページの上部に配置されます。しかし、ユーザーが Web を閲覧する際、ナビゲーション バーを上部に長時間表示し続けると、ページのスペースを占有し、ユーザーが不便に感じる可能性があります。したがって、ユーザー エクスペリエンスを向上させるために、JavaScript を使用して、Web ページの上部にある固定ナビゲーション バーのスクロール効果と非表示効果を実装できます。

この効果を実現する方法は、スクロール イベントをリッスンし、スクロール方向とスクロール距離に基づいてナビゲーション バーの表示と非表示を判断することです。以下はサンプル コードです。

// 获取导航栏元素 const navBar = document.querySelector('.navbar'); // 定义初始滚动位置 let lastScrollTop = 0; // 定义初始导航栏高度 const navBarHeight = navBar.offsetHeight; // 监听滚动事件 window.addEventListener('scroll', function() { // 获取当前滚动位置 const scrollTop = window.pageYOffset || document.documentElement.scrollTop; // 判断滚动方向 if (scrollTop > lastScrollTop) { // 向下滚动,隐藏导航栏 navBar.style.transform = `translateY(-${navBarHeight}px)`; } else if (scrollTop < lastScrollTop) { // 向上滚动,显示导航栏 navBar.style.transform = 'translateY(0)'; } // 更新滚动位置 lastScrollTop = scrollTop; });
ログイン後にコピー

上記のコードは、まずdocument.querySelector('.navbar')## を通じて.navbarクラス名を持つナビゲーション バー要素を取得します。 #。次に、変数lastScrollTopを定義して最後のスクロール位置を保存し、navBar.offsetHeightを使用してナビゲーション バーの高さを取得します。

次に、

window.addEventListener('scroll', function() { ... })を通じてスクロール イベントをリッスンします。スクロール イベントのコールバック関数では、まず現在のスクロール位置scrollTopを取得します。次に、現在のスクロール位置と前回のスクロール位置の大小関係を判断することで、スクロールの方向を決定します。

現在のスクロール位置が最後のスクロール位置よりも大きい場合は、ユーザーが下にスクロールしていることを意味し、ナビゲーション バーを上に非表示にします。

navBar.style.transformtranslateYプロパティを設定してナビゲーション バーを移動し、ナビゲーション バーの高さ (navBarHeight) を使用することに注意してください。 ) をディスプレイスメントの参照として使用して、ナビゲーション バーが完全に非表示になるようにします。

逆に、現在のスクロール位置が最後のスクロール位置より小さい場合は、ユーザーが上にスクロールしたことを意味し、ナビゲーション バーを再表示します。

最後に、次のスクロール イベントでの比較のためにスクロール位置

lastScrollTopを更新する必要があります。

上記のコード例を通じて、Web ページの上部にある固定ナビゲーション バーのスクロール効果と非表示効果を実現し、それによってユーザーのブラウジング エクスペリエンスを向上させることができます。もちろん、実際のニーズに応じて、ナビゲーション バーのスタイルと効果にいくつかの調整と改善を加えて、より良いユーザー インタラクション効果を実現できます。

以上がJavaScript を使用して、Web ページの上部にある固定ナビゲーション バーのスクロール効果と非表示効果を実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!