ドロップダウンメニューを実装するためのネイティブ js

ドロップダウンメニューを実装するためのネイティブ js

ドロップダウン メニューも実生活では非常に一般的です。実装に使用される js コードは、タブ選択やアコーディオンのものとほぼ同じなので、ここでは詳細には触れません。

Suning.com の公式サイトを参考にドロップダウン メニューを作成しました。実装コードは次のとおりです。

<!DOCTYPE html>
<html lang="ja">

<ヘッド>
    <メタ文字セット="UTF-8">
    <meta name="viewport" content="width=デバイス幅、初期スケール=1.0">
    <meta http-equiv="X-UA-compatible" content="ie=edge">
    <title>ドロップダウン メニュー</title>
    <スタイル>
        体、
        ul {
            パディング: 0;
            マージン: 0;
        }
        体{
            背景色:#ccc;
        }
        li {
            リストスタイル: なし;
        }
        {
            テキスト装飾: なし;
        }
        ホバー{
            色: rgb(235, 98, 35);
        }
        .nav {
            フロート: 右;
            上マージン: 10px;
            右マージン: 80px;
            ディスプレイ: フレックス;
            幅: 270ピクセル;
            高さ: 100px;
        }
      
        .nav>li {
            幅: 80ピクセル;
            マージン: 5px;
            テキスト配置: 中央;
        }
        .選択された{
            幅: 80ピクセル;
            背景色:#fff;
            色: rgb(235, 98, 35);
            境界線:1px実線rgb(196, 194, 194);
        }
        .nav>li div:n番目の子(1){
            高さ: 30px;
            行の高さ: 30px; 
        }
        .nav>li div:n番目の子(2){
            表示: なし;
            高さ: 160px;
            幅: 80ピクセル;
            背景色: #fff;
            境界線:1px実線rgb(196, 194, 194);
            border-top:1px 実線 #fff;
            行の高さ: 70px;
        }
        .nav>li>div:n番目の子(2) li{
            高さ: 40px;
            行の高さ: 40px;
        }
    </スタイル>
</head>

<本文>
    
    <ul class="nav">
        <li>
            <div><a herf="#">私の注文</a></div>
            <div>
            <ul>
                <li><a herf="#">支払い待ち</a></li>
                <li><a herf="#">発送待ち</a></li>
                <li><a herf="#">配送待ち</a></li>
                <li><a herf="#">評価待ち</a></li>
            </ul>
            </div>
        </li>    
        <li>
            <div><a herf="#">私の Yigoo</a></div>
            <div>
                    <ul>
                            <li><a herf="#">私の中古品</a></li>
                            <li><a herf="#">私のフォロー</a></li>
                            <li><a herf="#">私の財務</a></li>
                            <li><a herf="#">蘇寧会員</a></li>
                        </ul>
            </div>
        </li>
        <li>
            <div><a herf="#">私のホームページ</a></div>
            <div>
                    <ul>
                            <li><a herf="#">アバター</a></li>
                            <li><a herf="#">ニックネーム</a></li>
                            <li><a herf="#">署名</a></li>
                            <li><a herf="#">住所</a></li>
                        </ul>
            </div>
        </li>
    </ul>
    <スクリプト>
        var s = document.querySelectorAll(".nav li div:nth-child(1)");
        var d = document.querySelectorAll(".nav li div:nth-child(2)");
        (var i=0;i<s.length;i++){
            s[i].インデックス=i;
            s[i].onmouseover=関数(){
                (var j=0;j<s.length;j++){
                    s[j].className="";
                    d[j].style.display="なし";
                }
                this.className="選択済み";
                d[this.index].style.display="ブロック";
            }
        }
    </スクリプト>
   
</本文>

</html>

効果図は以下のとおりです。

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

以下もご興味があるかもしれません:
  • JavaScript ドロップダウン メニュー実装コード
  • css+js ドロップダウンメニュー
  • jsは選択ドロップダウンメニューのデフォルトの選択項目を動的に設定します
  • 3 段階のドロップダウン メニューの JS 実装コード
  • 日付ドロップダウンメニューの js 実装コード
  • JS リアルマルチレベルリンクドロップダウンメニュークラス、省、市、地区のリンクメニューを簡単に実現します。
  • Js クリック ポップアップ ドロップダウン メニュー効果の例
  • JS でナビゲーション メニューにセカンダリ ドロップダウン メニューを実装する 3 つの方法
  • ドロップダウンメニューを表示または非表示にするJavaScript
  • js で全国の省や都市のドロップダウン メニューをカスケード表示する効果コードを実現

<<:  MySQL 8.0.20 圧縮版のインストールチュートリアル(画像とテキスト付き)

>>:  LinuxベースのSelenium環境を構成し、操作を実装する

推薦する

HTML タグの表示モード (ブロックレベル タグ、インライン タグ、インライン ブロック タグ) に関する簡単な説明

今日の講義では、HTML におけるタグの表示モードについてお話ししましたが、これはブロックレベルタグ...

フロントエンド JavaScript におけるリフレクションとプロキシ

目次1. 反射とは何ですか? 2. JavaScriptで反映する2.1 Reflect.get(タ...

Nodejs のグローバル変数とグローバルオブジェクトの知識ポイントと使用方法の詳細

1. グローバルオブジェクトすべてのモジュールは呼び出すことができます1) global: ブラウザ...

vsCodeはワンクリックでvueテンプレートを生成します

1. ショートカットCtrl + Shift + Pを使用してコンソールを呼び出します 2、「スニペ...

CSS3 で実装された価格表

結果: 実装コードhtml <div id="価格表" class=&qu...

SQL文のANDとORの実行順序で発生する問題

質問昨日、データベースSQLを書いているときに問題が発生しました。問題の根本は、SQL ステートメン...

MySQL パーティションテーブルのベストプラクティスガイド

序文:パーティショニングはテーブル設計パターンです。一般的に、テーブル パーティショニングとは、条件...

Linuxでシンボリックリンクを削除(削除)するコマンド

Linux では、シンボリック リンクを作成または削除する必要がある場合があります。もしそうなら、何...

Dockerで同じIDを持つ2つのイメージを削除する

今日 Docker コンテナを作成したとき、誤ってイメージの名前を間違って入力しました。その結果、コ...

Mysql通信プロトコルの詳細な説明

1.Mysql接続方法MySQL 通信プロトコルを理解するには、まず MySQL サーバーへの接続に...

VMware 15.5 に CentOS7 をインストールするためのグラフィック チュートリアル

1. VMware 15.5で新しい仮想マシンを作成する1. VMware を開き、ホームページで「...

Mysql SSHトンネル接続を使用するための基本的な手順

序文セキュリティ上の理由から、MySQL の root ユーザーはローカルにのみログインでき、外部ネ...

mysql-8.0.16 winx64 最新インストール チュートリアル (画像とテキスト付き)

最近、データベースについて学び始めました。最初にやったことは、データベースとは何か、データベースとデ...

MAC で MySQL のデフォルトの文字セットを utf8 に変更する方法

1. デフォルトでインストールされているMySQLの文字セットを確認するmysql> '...

ランダムな文字を生成する Java サンプルコード

サンプルコード: java.util.Random をインポートします。 java.util.UUI...