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 の詳細な説明

推薦する

MySQLデータベースのトランザクション分離レベルの詳細な説明

データベーストランザクション分離レベルデータベース トランザクションには、低から高まで 4 つの分離...

Ubuntu 20.04 中国語入力方法のインストール手順

この記事では、Google 入力方法をインストールします。実は以前はSogou入力方式を使っていたの...

Vue3とTypeScriptを組み合わせたプロジェクト開発の実践記録

目次概要1. コンポジションAPI 1. ref と reactive の違いは何ですか? 2. 周...

初めてDockerイメージを構築、実行、公開、取得するための詳細な手順

1. はじめに以前は、Python アプリケーションの作成を開始したい場合、最初のステップはマシンに...

mysql 変数の使用例の分析 [システム変数、ユーザー変数]

この記事では、例を使用して MySQL 変数の使用方法を説明します。ご参考までに、詳細は以下の通りで...

MySQL ロック(テーブルロック、行ロック、共有ロック、排他ロック、ギャップロック)の詳細な説明

現実世界では、鍵は外の世界から身を隠したいときに使用するツールです。コンピュータでは、複数のプロセス...

VMware 仮想マシンの NAT モードを構成する方法

この記事では、VMware仮想マシンのNAT構成プロセスを詳しく説明します。具体的な内容は次のとおり...

Tomcatのクラスロードメカニズムを説明する記事

目次- 序文 - - JVM クラスローダー - 1. JVMクラスローダー2. クラスローダーのソ...

MySQLデータベースとテーブルシャーディングの概要

プロジェクトの開発中に、データベースのデータがどんどん大きくなり、その結果、1 つのテーブルにデータ...

CSS スタイルの読み込みの優先順位に関する経験の共有

昨日のプロジェクト開発中に、スタイルの読み込み優先順位に関する問題が発生しました。クラスは定義され、...

JavaScriptは、ユーザーがチェックボックスをオンにする必要があるプロトコルの例を実装します。

js では、ログインまたは登録を確認する前に、ユーザーが特定の契約書を読むように設定します (使用...

MySQLカバーインデックスの使用例

カバーインデックスとは何ですか?クエリで使用されるすべてのフィールドを含むインデックスを作成すること...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

CentOS 6 または CentOS 7 でディスク領域をクリアする方法

以下は、CentOS 6 または CentOS 7 サーバーのディスク領域をクリアするための簡単なコ...

Elementはスクリプトを使用して新しいコンポーネントを自動的に構築します

目次背景element-ui の自動構築はどのように機能しますか?メイクファイル新しい.jsファイル...