JS は Web ページナビゲーションバーの特殊効果を実現します

JS は Web ページナビゲーションバーの特殊効果を実現します

この記事では、ネイティブ JS を使用して実装された実用的な Web ナビゲーション バー効果を紹介します。ページをスクロールすると、ナビゲーション バーが変化します。効果は次のとおりです。

以下はコード実装です。コピーして貼り付け、収集していただいて結構です。

<!DOCTYPE html>
<html lang="ja">
 
<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <title>Web ナビゲーション バーの特殊効果を実現するネイティブ JS</title>
    <スタイル>
        * {
            マージン: 0;
            パディング: 0;
            ボックスのサイズ: 境界線ボックス;
            単語折り返し: 単語を区切る;
            フォント ファミリ: 'Microsoft YaHei'、サンセリフ;
        }
 
        体 {
            背景: #000;
            最小高さ: 200vh;
        }
 
        ヘッダー {
            位置: 固定;
            上: 0;
            左: 0;
            幅: 100%;
            ディスプレイ: フレックス;
            アイテムの位置を中央揃えにします。
            コンテンツの両端揃え: スペースの間;
            遷移: 0.6 秒;
            パディング: 40px 100px;
            zインデックス: 2;
        }
 
        ヘッダー.sticky {
            パディング: 5px 100px;
            背景: #fff;
        }
 
        ヘッダー.logo {
            位置: 相対的;
            フォントの太さ: 700;
            色: #fff;
            テキスト装飾: なし;
            フォントサイズ: 2em;
            テキスト変換:大文字;
            文字間隔: 2px;
            遷移: 0;
        }
 
        ヘッダー ul {
            位置: 相対的;
            ディスプレイ: フレックス;
            コンテンツの中央揃え: 中央;
            アイテムの位置を中央揃えにします。
        }
 
        ヘッダー ul li {
            位置: 相対的;
            リストスタイル: なし;
        }
 
        ヘッダー ul li a {
            位置: 相対的;
            マージン: 0 15px;
            テキスト装飾: なし;
            色: #fff;
            文字間隔: 2px;
            フォントの太さ: 500px;
            遷移: 0.5秒;
        }
 
 
        .バナー{
            位置: 相対的;
            幅: 100%;
            高さ:100vh;
            背景: url(bg.jpg);
            背景サイズ: カバー;
        }
 
        ヘッダー.sticky.logo、
        ヘッダー.sticky ul li a {
            色: #000;
        }
    </スタイル>
</head>
 
<本文>
    <ヘッダー>
        <a href="#" class="logo">ロゴ</a>
        <ul>
            <li><a href="#" >ホーム</a></li>
            <li><a href="#" >概要</a></li>
            <li><a href="#" >サービス</a></li>
            <li><a href="#" >作品</a></li>
            <li><a href="#" >お問い合わせ</a></li>
        </ul>
    </ヘッダー>
    <section class="banner"></section>
    <スクリプト>
        window.addEventListener('スクロール', () => {
            ヘッダーを document.querySelector('header') とします。
            // 重要なプロパティ header.classList.toggle('sticky', window.scrollY > 0)
        })
    </スクリプト>
</本文>
 
</html>

以下はコードで参照されている画像bg.jpgです。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • JSは、現在のメニューを選択した後にナビゲーションバーを強調表示する効果を実現します。
  • レスポンシブナビゲーションバーを実装するためのCSS3+Js
  • ホームページナビゲーションバー DIV+CSS+JS [コード例]
  • JS コードに基づいてナビゲーション バーにポップアップ フローティング メニューを実装する
  • Vuejs トグルナビゲーションバーのハイライト(ルートメニューのハイライト)メソッドの例
  • JS+CSSは、マウスをスライドさせたときに動的にスクロールするナビゲーションバーの効果を実現します。
  • BootstrapナビゲーションバーJSコンポーネントの使い方の詳細な説明
  • マウスをホバーすると動的にスクロールするJavaScript実装のナビゲーションバー
  • 水平ドラッグナビゲーションバー機能を実現するjs
  • 伸縮性のあるナビゲーションバー効果を実現する純粋なJS

<<:  Dockerはポートを介してコンテナに接続します

>>:  MySQL データ アーカイブ ツール mysql_archiver の詳細な説明

推薦する

Linux でメモリ使用量を確認する方法

システムの問題、アプリケーションの速度低下、または原因不明の問題をトラブルシューティングする場合、最...

nginx+php-fpm サービスの HTTP ステータス コード 502 の詳細な分析

弊社の Web プロジェクトの 1 つでは、新しい都市の増加によりトラフィックと DB 負荷が増加し...

webpackでvue環境を構築する際の異常なエラーを解決する

目次まず、package.jsonを設定します次にwebpackツールをインストールしますwebpa...

Docker に Tomcat をインストールし、Springboot プロジェクトの WAR パッケージをデプロイする方法

簡単です。チュートリアルを見てください。ブロガー1. まずdockerを起動するサービスdocker...

ESXI の仮想マシンにワークステーションをインストールするときに発生するネットワーク障害の解決策

問題の説明ESXI で Windows にワークステーションをインストールした後、内部の仮想マシンは...

Vueでアイコンをカスタマイズする手順

ant-design-vue は Ali iconfont icons の使用をカスタマイズします\...

MySQL 空間データストレージと関数

目次1. データ型1. MySQL空間データとは何か2. GeoJSONとは3. 空間データ型のフォ...

XHTML CSS ページをプリンタ ページに変換する

以前は、Web ページのプリンタ対応バージョンを作成するには、印刷したときに見栄えがよくなるようにレ...

HTMLの基礎 HTMLの構造

HTML ファイルとは何ですか? HTML は Hyper Text Markup Language...

CSSはコーナーカット+ボーダー+投影+コンテンツ背景色のグラデーション効果を実現します

CSS を使用するだけで、コーナーカット + ボーダー + 投影 + コンテンツの背景色のグラデーシ...

表には表示したい境界コードが表示されます

テーブルの共通プロパティ基本的な属性は、width (幅)、height (高さ)、border (...

HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR

テーブルを美しくするために、行ごとに異なる境界線の色を設定できます。基本的な構文<TR 境界線...

MYSQL の解凍版における中国語の文字化け問題の解決方法

MYSQLの解凍バージョンがインストールされます1: 解凍後、my.ini ファイルをコピーし、バイ...

ウェブ画像形式としてPNG、JPG、GIFを選択して使用する方法

では、GIF、PNG、JPG のどの形式を候補形式として選択すればよいのでしょうか。また、どの画像形...

Kafka の Docker デプロイメントと Spring Kafka 実装

この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介しま...