インターネットで3レベルリンクを検索したところ、すべてオプションで書かれていました。突然、別の方法で書いてみようというアイデアが浮かびました。効果は悪くないと思います。興味があれば、見てみてください。さっそく効果を見てみましょう。 コードは以下のとおりです。少し乱雑ですが、見たい方は見てみてください。 1.htmlコード <div class="box"> <section class="province">州</section> <section class="city">都市</section> <section class="area">エリア</section> <div class="si"> </div> </div> 2.cssコード <スタイル> 。箱{ 幅: 800ピクセル; 高さ: 50px; マージン: 20px 自動; 背景色: rgb(48, 49, 48); 境界線の半径: 10px; ディスプレイ: フレックス; コンテンツの中央揃え: 中央; アイテムの位置を中央揃えにします。 } .box セクション{ 表示: インラインブロック; 背景色: rgb(168, 165, 165); フレックス成長: 1; 高さ: 30px; 右マージン: 10px; 左マージン: 10px; 境界線の半径: 5px; 行の高さ: 30px; 左パディング: 10px; } .boxセクション:hover{ カーソル: ポインタ; } .si{ 表示: なし; } .box .all{ 表示: ブロック; 幅: 740ピクセル; 背景色: rgb(211, 203, 203); パディング: 20px; 位置: 絶対; 境界線の半径: 10px; 上: 57px; } .box .all:hover{ カーソル: ポインタ; } .box .all span{ 表示: インラインブロック; 幅: 130ピクセル; 高さ: 30px; フォントサイズ: 13px; 左パディング: 10px; 行の高さ: 30px; 境界線の半径: 5px; 左マージン: 10px; 境界線: 1px実線 #000; 背景色: 白; ボックスのサイズ: 境界線ボックス; 上マージン: 10px; } </スタイル> 3.jsコード <スクリプト> // コンテンツを取得 var data = city_code // これは私のデータです // 州、都市、地区を取得 var Province = document.querySelector(".province") var city = document.querySelector(".city") var area = document.querySelector(".area") // 隠しdivを取得する var si = document.querySelector(".si") 州.addEventListener("マウスオーバー",関数(){ si.classList.add("すべて") // 州を選択 var html = "" var all = document.querySelector(".all") for(var i = 0;i<data.length;i++){ const 州名 = データ[i].名前 const 州ID = データ[i].コード html += `<span id="${provinceID}">${provinceName}</span>` } すべて.innerHTML=html var spanAll = document.querySelectorAll("span") (var j =0;j<spanAll.length;j++){ spanAll[j].addEventListener("クリック",function(){ 州.innerHTML=this.innerText 州ID=このID html = "" // 都市を選択 for(var k = 0;k<data.length;k++){ if (data[k].code===province.id) { var citys = データ[k].city for(var i = 0;i<citys.length;i++){ html +=`<span id="${citys[i].code}">${citys[i].name}</span>` } すべて.innerHTML=html var spanAll = document.querySelectorAll("span") (var j =0;j<spanAll.length;j++){ spanAll[j].addEventListener("クリック",function(){ city.innerHTML=this.innerText 都市ID=このID html = "" //エリアを選択 for(var k = 0; k<citys.length; k++){ (citys[k].code===city.id)の場合{ var エリア = 都市[k].エリア for(var i = 0;i<areas.length;i++){ html +=`<span id="${areas[i].code}">${areas[i].name}</span>` } すべて.innerHTML=html var spanAll = document.querySelectorAll("span") (var j =0;j<spanAll.length;j++){ spanAll[j].addEventListener("クリック",function(){ area.innerHTML = this.innerText エリアID=このID si.classList.remove("すべて") }) } 壊す } } }) } 壊す } } }) } }) </スクリプト> 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL インデックスが失敗するいくつかの状況の概要
>>: Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法
この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...
要素に関するいくつかの属性フロントエンドの日常的な開発では、一部のページのプロパティを取得または監視...
この記事の例では、星のきらめき効果を実現するためのjsの具体的なコードを共有しています。具体的な内容...
フィルターを使用して画像に透明な CSS を書く方法コードをコピーコードは次のとおりです。 html...
目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...
背景Shell の mysql-client を介して MySQL データベースにログインする場合、...
コードをコピーコードは次のとおりです。 <span style="font-fami...
この記事では、reduce()、filter()、map()、every()、some()、spre...
CentOS プロジェクトは、Red Hat の再配布要件に完全に準拠した、Red Hat Ente...
react.js フレームワーク Redux https://github.com/reactjs/...
1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...
Linux topコマンドの紹介top コマンドは、Linux でよく使用されるパフォーマンス分析ツ...
トランジションドキュメントアドレスは、フェードインとフェードアウト効果を実現するための背景ポップアッ...
このトピックは、2012 年後半の社内共有です。まだ記事にはなっていませんが、春節が近づいているので...
1. Docker Swarm とは何ですか? Docker Swarm は、Docker が公式に...