この記事の例では、ドロップダウンリストを実装するための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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: VMWare12 グラフィックチュートリアルで Apple Mac OS X をインストールする
>>: LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。
この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...
最近では、多くのウェブサイトでは、ページ上の特定のコンテンツや情報を直接コピーすることは許可されてお...
タブ切り替えもプロジェクトではよく使われる技術です。一般的にタブ切り替えはjsやjqを使って実装され...
Nginx を使用して Tomcat9 クラスターを構築し、Redis を使用してセッション共有を実...
ブラウザのウェブページを最適化するためのいくつかのルールページの最適化静的リソース圧縮ビルド ツール...
オンラインで検索して重複データを削除し、ID が最小のデータだけを残します。方法は次のとおりです。 ...
目次クロスドメインの理由JSONP Nginxソリューションバックエンドソリューションクロスドメイン...
100 以内の自然数をランダムに選択し、プレイヤーに 10 ラウンド以内にその数を推測させる数字推...
今日、docker で redis 環境を構築していたところ、yum がリソースを取得できず、インタ...
記事は主にUbuntu 20.04の簡単なインストールプロセスを記録し、インストール後に国内ソースを...
1.まずMysqlリンク設定ページを書く パッケージ com.wretchant.fredis.me...
SQL UNIQUE制約UNIQUE 制約は、データベース テーブル内の各レコードを一意に識別します...
基本的なネットワーク構成Docker はイメージに基づいて複数のコンテナを「開く」ことができ、各コン...
MySQL 5.7.18 でパスワードを変更する方法: 1. まずMySQLサーバーをシャットダウン...
この記事では、参考までに簡単なタイマーを実装するためのJavaScriptの具体的なコードを紹介しま...