JSはBaidu Newsナビゲーションバーの効果を実現

JSはBaidu Newsナビゲーションバーの効果を実現

この記事では、Baidu News Navigation Barの効果を実現するための具体的なJSコードを紹介します。具体的な内容は次のとおりです。

私は最近 Web フロントエンドを学習しており、js を使用して Baidu News ナビゲーション バーの効果を簡単に実装しました。マウスをオプションの上に移動すると、赤い背景のブロックが現在のオプションの上にスライドします。オプションをクリックすると、固定された赤い背景のブロックが現在のオプションに移動し、現在のオプションが選択されていることを示します。さっそくコードは以下のとおりです

<div class="box">
        <!-- 2 つの赤い背景ブロック -->
        <!--マウスに合わせて移動する背景ブロック-->
        <div id="移動"></div>
        <!--マウスをクリックすると背景ブロックがどこかに固定されます-->
        <div id="固定"></div>
        <a href="#">ホーム</a>
        <a href="#">国内</a>
        <a href="#">国際</a>
        軍隊
        <a href="#">財務</a>
        <a href="#">エンターテインメント</a>
        <a href="#">スポーツ</a>
        <a href="#">インターネット</a>
        <a href="#">テクノロジー</a>
        <a href="#">ゲーム</a>
        <a href="#">女性</a>
        <a href="#">車</a>
        <a href="#">プロパティ</a>
</div>

CSS部分

 *{
            マージン: 0;
            パディング: 0;
        }
        。箱{
            上:100ピクセル;
            幅: 790ピクセル;
            高さ: 30px;
            フォントサイズ: 0;
            位置: 相対的;
            マージン: 0 自動;
            背景色: #01204f;
        }
        {
            表示: インラインブロック;
            位置: 相対的;
            幅: 60ピクセル;
            高さ: 30px;
            行の高さ: 30px;
            色: 白;
            フォントサイズ: 16px;
            テキスト装飾: なし;
            テキスト配置: 中央;
            遷移: すべて 0.6 秒;
        }
        #動く{
            位置: 絶対;
            背景色: 赤;
            上: 0px;
            左: 0px;
            幅: 60ピクセル;
            高さ: 30px;
            遷移: すべて 0.6 秒;
        }
        #修理済み{
            位置: 絶対;
            背景色: 赤;
            上: 0px;
            左: 0px;
            幅: 60ピクセル;
            高さ: 30px;
        }

js部分

window.onload = 関数(){
      let move = document.getElementById("move");//スライドする背景ブロック let fixed = document.getElementById("fixed");//背景ブロックをどこかに固定 let aList = document.getElementsByTagName("a");//タグリスト let left = move.offsetLeft + "px";//スライドする背景ブロックの初期位置 //すべての a タグを、move in、move out、およびクリック イベントにバインドします for (let i = 0; i < aList.length; i++) {
                aList[i].onmouseover = 関数 () {
                    // マウスが特定の a タグ内に移動すると、スライドする背景ブロックが現在の a タグの位置にスライドします。move.style.left = aList[i].offsetLeft + "px";
                }
                aList[i].onmouseout = 関数 () {
                    // マウスがラベル a から出ると、スライディング背景ブロックは初期位置に戻ります。move.style.left = left;
                }
                aList[i].onclick = 関数 () {
                    // 特定の a タグがクリックされると、固定背景ブロックが現在の a タグの位置に移動します。fixed.style.left = aList[i].offsetLeft + "px";
                    // スライディング背景ブロックの初期位置をラベルの現在の位置に更新します。a left = aList[i].offsetLeft + "px";
                }
            }
        }

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

以下もご興味があるかもしれません:
  • JSはナビゲーションバーのホバー効果を実装します
  • JavaScript は、マウスクリックによるナビゲーションバーの色変更効果を実装します。
  • スライドナビゲーションバー効果を実現するJavaScript
  • Fullpage.js 固定ナビゲーション バー - ナビゲーション バーの配置の実装
  • JSは指定された位置までスクロールし、ナビゲーションバーは上部に固定されます
  • クールなナビゲーションバーの js+css 実装を段階的に記述する方法を説明します
  • js ナビゲーション バー クリック イベント 背景変更 サンプル コード
  • JavaScript NodeTree ナビゲーションバー (メニュー項目 JSON 型/自作)
  • ネイティブ JS で MUI ナビゲーション バーの透明なグラデーション効果を実現
  • jsはゆっくりとしたアニメーションでナビゲーションバー効果を実現します

<<:  Docker プライマリ ネットワーク ポート マッピング構成

>>:  訪問者にあなたのウェブサイトを覚えてもらうための3つの便利なコード

推薦する

Vite2.0の落とし穴

目次Viteプロジェクトビルドの最適化他のやっとこれは前回の記事の補足です。設定プロジェクトで遭遇し...

HTML の doctype とエンコーディングに関する簡単な説明

文書タイプDoctype は、指示を解析するためにどのバージョンの HTML を使用するかをブラウザ...

Nginx Webサーバーのサンプルコードの設定方法の詳細な説明

概要今日は主に、NGINX を Web サーバーとして設定する方法を共有します。内容は次のとおりです...

Vue は Ctrip のカルーセル効果を模倣します (スライディング カルーセル、以下は高度に適応)

まずケースを見てみましょう。vue+swiper を使用して実装します。スライドの高さが異なる場合、...

Linux (CentOS7) に Tomcat をインストールし、Tomcat をスタートアップ項目として設定します (tomcat8 を例に挙げます)

目次TomcatをインストールするTomcat 圧縮パッケージをダウンロードTomcatには3つの主...

MySQLカスタム関数とストアドプロシージャの詳細な説明

序文この記事では主にMySQLのカスタム関数とストアドプロシージャに関する関連コンテンツを紹介し、皆...

CentOS 7 に mysql5.7 の解凍バージョンをインストールするチュートリアル

1. mysqlの圧縮パッケージを/usr/localフォルダに解凍し、名前をmysqlに変更します...

権限の問題によりMySQLの設定ファイルmy.cnfを起動できない問題の解決方法

この記事では、権限の問題により MySQL 構成ファイル my.cnf を起動できない場合の関連する...

div の幅が width:100% に設定されていて、パディングまたはマージンが親要素を超えてしまう問題の解決方法

序文この記事では、div の幅を 100% に設定し、親要素を超えてパディングまたはマージンを設定す...

Dockerを使用してブログサイトを素早く構築する方法の詳細な説明

目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...

Linux FTP匿名アップロードとダウンロードが自動的に開始される問題を解決する

勉強や仕事で FTP サーバーを頻繁に使用する場合は、起動時に自動的に起動するように設定できます。設...

Dockerイメージの作成Dockerfileとコミット操作

イメージを構築するイメージを構築するには、主に 2 つの方法があります。実行中のコンテナをイメージに...

Web 開発の面接と筆記試験に必須の知識(必読)

HTML のインライン要素とブロックレベル要素の違い:標準的なドキュメント フローでは、ブロック ...

Linux システムでの Selenium クローラー プログラムの導入の概要

目次序文1. セレンとは何ですか? 2. 使用手順1. ライブラリをインポートする2. テストコード...