ドロップダウンリストのJavaScript実装

ドロップダウンリストのJavaScript実装

この記事の例では、ドロップダウンリストを実装するためのJavaScriptの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。

今回は比較的シンプルなドロップダウンリストの実装を書きました。クリックするとリストの内容が表示され、もう一度クリックするとリストが消えます。長い間勉強した結果、この js の書き方の方が確かに使いやすいことがわかりました。まずは効果を見てみましょう。

早速コードを見ていきましょう。JSがメインでCSSは任意でデバッグできるのですが、この書き方だとCSSが必須になります。

1. HTMLコード

<本文>
<!--最外層-->
<div class="outer">
<!-- 内部 -->
<div class="inner">
<h2>まず</h2>
 <ul>
  <li>あ</li>
  <li>ば</li>
  <li>c</li>
 </ul>
</div>

<div class="inner">
 <h2>2番目</h2>
 <ul>
  <li>1</li>
  <li>2</li>
  <li>3</li>
 </ul>
</div>

<div class="inner">
 <h2>2番目</h2>
 <ul>
  <li>4</li>
  <li>5</li>
  <li>6</li>
 </ul>
</div>

 <div class="inner">
  <h2>2番目</h2>
  <ul>
   <li>7</li>
   <li>8</li>
   <li>9</li>
  </ul>
 </div>


<!-- 内部 -->
</div>
<!--最外層-->
</本文>

2. CSSコード

 .外側{
   マージン: 0 自動;
   幅: 500ピクセル;
   高さ: 600px;
   境界線: 1px 実線の赤;
  }
  .外側 .内側{
   幅: 500ピクセル;
   境界線: 1px 実線の赤;

  }
  .外側 .内側 ul{
   リストスタイル: なし;
   境界線: 1px 実線フクシア色;
  }
  h2{
   境界線: 1px 実線青紫;
   高さ: 30px;
   ディスプレイ: フレックス;
   コンテンツの中央揃え: 中央;
   カーソル: ポインタ;
   背景色: #74a400;
   マージン: 0;
  }
  ul{
   表示: なし;
   

  }
  
 
  ここでは、.ul は HTML に含まれていないため、js を通じて追加する必要があります。
   表示: ブロック;
   背景色: コーンフラワーブルー;
   マージン: 0;
  }
  ul li{
   境界線: 1px 実線 コーンフラワーブルー;
   背景色: ダークグレー;
   ディスプレイ: フレックス;
   コンテンツの中央揃え: 中央;
   左マージン: -42px;
   カーソル: ポインタ;

}

3. 最も重要なjsコード部分

window.onload = 関数(){
  // h2 と ul を取得
   var h2 = document.getElementsByTagName("h2");
   タグ名で要素を取得する
   //すべてのh2にクリックイベントをバインドします for (let i = 0; i <h2.length; i++) {
    h2[i].index = i;
    h2[i].onclick = 関数(){
 // バインドされたイベントは、h2 と同じレベルの ul にクラス名がない場合、そのクラス名は ul という名前になります。クラス名がある場合は、そのクラス名は空に設定されます。
 // CSS コードを見ると、js が対応する h2 クラス名をまだ変更していないため、機能しない .ul 部分があることがわかります。これは、h2 がクリックされたときにのみ変更されます。
 // この書き方は、CSS スタイルの内容を直接変更するのではなく、名前を変更することでスタイルの変更を実現します。これにより、スタイルを繰り返し記述することなく、1 つのスタイルを何度も使用することができます。
     if (ul[this.index].className == ""){
      ul[this.index].className = "ul";
     }それ以外 {
      ul[this.index].className = "";
     }
    }
 }
}

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

以下もご興味があるかもしれません:
  • js はドロップダウンリストで値を選択するメソッドを実装します (3 つのメソッド)
  • jQuery が Ajax を使用してバックグラウンドから JSON データを取得した後、ドロップダウン リストにコンテンツを入力する方法
  • jquery+json ユニバーサル 3 レベル リンク ドロップダウン リスト
  • JavaScript の年ドロップダウン リスト ボックスには、現在の年とその前後 50 年が含まれます。
  • ドロップダウンリストボックスの値とテキスト値を取得する js <option> サンプルコード
  • extJs テキストボックスの後ろに説明テキストを追加し、ドロップダウンリストで値を選択した後にイベントをトリガーします
  • JavaScript カスケード ドロップダウン リストのサンプル コード (自作)
  • JavaScript を使用してドロップダウン リストに複数レベルのツリー メニューを表示する方法
  • JavaScript はドロップダウン リスト ボックスのテキスト値を取得します。サンプル コード
  • jsを使用して編集可能な選択ドロップダウンリストを実装する

<<:  VMWare12 グラフィックチュートリアルで Apple Mac OS X をインストールする

>>:  LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。

推薦する

JavaScript でのモグラ叩きゲームの実装

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...

ウェブサイトでページコンテンツや情報を直接コピーできない問題を解決する方法

最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...

タブ切り替えを実装するための HTML サンプル コード

タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...

Nginx 経由で Tomcat9 クラスターを構築し、セッション共有を実現する

Nginx を使用して Tomcat9 クラスターを構築し、Redis を使用してセッション共有を実...

基本的なウェブページパフォーマンス最適化ルールの簡単な概要

ブラウザのウェブページを最適化するためのいくつかのルールページの最適化静的リソース圧縮ビルド ツール...

MySQL は重複データを削除して最小の ID ソリューションを維持します

オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...

ウェブ開発におけるクロスドメインの理由に対する複数のソリューション

目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...

数字当てゲームを実装するための純粋なJavaScript

100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推...

Dockerコンテナが外部ネットワークにpingできない問題を解決する

今日、docker で redis 環境を構築していたところ、yum がリソースを取得できず、インタ...

Ubuntu 20.04 デスクトップのインストールとルート権限の有効化および SSH インストールの詳細

記事は主にUbuntu 20.04の簡単なインストールプロセスを記録し、インストール後に国内ソースを...

MySQLデータベースに接続し、クエリ操作を実行するためのIDEAの完全なコード

1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...

MySQLは重複しないデータ挿入を実装するためにUNIQUEを使用する

SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...

Docker コンテナのネットワーク設定によく使われるコマンドの詳しい説明

基本的なネットワーク構成Docker はイメージに基づいて複数のコンテナを「開く」ことができ、各コン...

MySQL 5.7.18 でパスワードを変更する方法

MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...

JavaScript でシンプルなタイマーを実装する

この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...