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

推薦する

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

CSS スタイルのリセットとクリア (異なるブラウザで同じ効果を表示するため)

異なるブラウザ間でページの表示を一致させるためには、フロントエンド開発において CSS スタイルのク...

停止したすべてのDockerコンテナを1つのコマンドで再起動する

停止したすべてのDockerコンテナを1つのコマンドで再起動するdocker ps -a | gre...

Docker Compose のサイドカーモードの詳細な説明

目次Docker Composeとは要件に不適切な言語が使用されている実装Docker Compos...

Apache Tomcat と IDEA エディターの統合に関する詳細なチュートリアル

1. Apache Tomcat 公式サイトから Tomcat 圧縮パッケージをダウンロードします。...

Vueはシンプルな虫眼鏡効果を実装します

この記事では、参考までに、簡単な虫眼鏡効果を実現するためのVueの具体的なコードを紹介します。具体的...

jQueryはHTML要素の非表示と表示を実装します

商品を検索するときに、すべてのブランドまたは一部のブランドを表示するTaobaoの機能を真似してみま...

CSSを使用して中央に固定された2つの列と適応型列を実現する方法

1. 絶対位置とマージンを使用するこの方法の原則は、左側と右側をドキュメントの流れから外れるように配...

JavaScriptを使用してページ効果を作成する

11. JavaScriptを使用してページ効果を作成する11.1 DOMプログラミングDOM プロ...

3つの主要データベース(Mysql、SqlServer、Oracle)の違いについて簡単に説明します。

マイグレーションアドバンテージ:小型、高速、総所有コストが低い、オープンソース。複数のオペレーティン...

ファイルが存在するかどうかを判断する JavaScript サンプルコード

1. ビジネスシナリオ最近はファイルのアップロードやダウンロードに関する開発をしています。ダウンロー...

Centos7 ベースの Varnish キャッシュ プロキシ サーバーを展開する

1. ワニスの概要1. ワニスの紹介Varnish は、新しいソフトウェア アーキテクチャを使用し、...

Vueログイン機能の実装

目次前面に書かれたログインの概要ログインビジネスプロセスログインサービスの関連技術ポイントログイント...

HTML相対パスの親ディレクトリと子ディレクトリの書き方

親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...