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つの便利なコード

推薦する

arcgis.js は、マップ本体の表示範囲を制御し、領域を超えた場合に自動的にバウンスするようにします (実装のアイデア)

目次背景効果アイデア背景少し前に、会社のプロジェクトで問題が発生しました。地図のベースマップ領域の範...

Ubuntu での CUDA と CUDNN のインストールとアンインストールの実装

目次序文グラフィックドライバーをインストールするCUDAをアンインストールするCUDAをインストール...

vue N​​progress のプログレスバー機能を実装する際の一般的な問題

NProgress は、ページがジャンプしたときにブラウザの上部に表示される進行状況バーです。公式ウ...

Docker を使用して開発環境を構築する方法 (Windows および Mac)

目次1. Dockerを使用する利点2. Dockerをインストールする1) LinuxにDocke...

Linux で Oracle データベースをバックアップするためのスケジュールされたタスクの設定に関するチュートリアル

1. データベースの文字セットを確認するデータベースの文字セットは、Linux で設定された環境変数...

Centos7.2 で mysql5.7 データベースをインストールするための詳細な手順

サーバー上の mysql はバージョン 8.0.12 でインストールされており、ローカルのものはバー...

MySQL接続クエリにおけるととwhereの違いの簡単な分析

1. テーブルを作成する テーブル「学生」を作成( `id` int(11) NULLではない、 `...

img 画像タグに alt 属性を付与する必要がありますか?

img 画像タグに alt 属性を追加しますか?画像 img タグの alt 属性を見落とすことはよ...

MySQLのinnodb_data_file_pathパラメータを変更する際の注意事項

序文innodb_data_file_path は、innodb テーブルスペース ファイルを指定す...

Vueでaxiosを簡単にカプセル化する方法

Vueにaxiosを挿入する 'axios' から axios をインポートします。...

メタタグにおける http-equiv 属性の使用の概要

metaはhtml言語のhead領域にある補助タグです。おそらく、これらのコードは不要だと思うかもし...

ReactのuseEffectクロージャの落とし穴についての簡単な説明

問題コードuseEffectによって発生したクロージャの問題コードを見てみましょう 定数 btn =...

CSSは高さを設定せずにdivを完全に中央に配置することを実現します

必要とする本文の下のdivは垂直方向に中央揃えになっていますdiv 内のテキストを垂直中央に配置する...

vue 要素 el-transfer にドラッグ機能を追加

コア資産管理プロジェクトでは、el-transfer にドラッグ アンド ドロップによる並べ替えと、...

MySQL でスロークエリログ機能を有効にする方法

MySQL スロー クエリ ログは、問題のあるクエリを追跡するのに非常に役立ちます。現在のプログラム...