jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

jsは、州、市、地区の3レベルのリンクの非選択ドロップダウンボックスバージョンを実現します。

インターネットで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 を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • PHP+Mysql+Ajax+JSで州、市、地区間の連携を実現
  • JavaScript は、州、市、地区の 3 段階のリンク ドロップダウン ボックス メニューを実現します。
  • 州、市、地区の 3 レベル リンク ドロップダウン ボックス メニューの JavaScript バージョン
  • jsは、省、市、地区の3レベルのリンク選択ボックスコード共有を実現します
  • QQウェブサイトから抽出した純粋なJS省、市、地区の3レベルリンクメニュー
  • JSON+Jquery 州、市、地区の 3 レベルのリンク
  • ネイティブjsは省、市、地区の3レベルのリンクコード共有を実現します
  • Vue.jsは京東の省、市、地区の3階層リンクの選択コンポーネントサンプルコードを模倣します
  • JavaScript は、州、市、地区間のシンプルな 3 レベルのリンクを実現します。
  • JavaScript の州、市、地区の 3 レベル リンク ドロップダウン メニューの例のデモ

<<:  MySQL インデックスが失敗するいくつかの状況の概要

>>:  Tomcat を設定して IntelliJ IDEA 2018 で最初の Java Web プロジェクトを実行する方法

推薦する

Reactはページング効果を実装する

この記事では、Reactでページング効果を実現するための具体的なコードを参考までに紹介します。具体的...

HTML 要素の高さ、offsetHeight、clientHeight、scrollTop などの詳細な説明。

要素に関するいくつかの属性フロントエンドの日常的な開発では、一部のページのプロパティを取得または監視...

星のきらめき効果を実現するネイティブ js

この記事の例では、星のきらめき効果を実現するためのjsの具体的なコードを共有しています。具体的な内容...

フィルターを使用して画像に透明な CSS を書く方法

フィルターを使用して画像に透明な CSS を書く方法コードをコピーコードは次のとおりです。 html...

React プロジェクトにおける axios カプセル化と API インターフェース管理の詳細な説明

目次序文インストール導入環境の切り替え傍受を要求するレスポンスインターセプションAPIの統合管理要約...

シェルでパスワードなしでMySQLデータベースに素早くログインする方法

背景Shell の mysql-client を介して MySQL データベースにログインする場合、...

ReactとReduxの配列処理の説明

この記事では、reduce()、filter()、map()、every()、some()、spre...

Red Hat Enterprise Linux 8 をベースにした CentOS 8 が正式にリリースされました

CentOS プロジェクトは、Red Hat の再配布要件に完全に準拠した、Red Hat Ente...

React.js フレームワーク Redux 基本ケースの詳細な説明

react.js フレームワーク Redux https://github.com/reactjs/...

Dockerコンテナの入退出方法の詳細な説明

1 Dockerサービスを開始するまず、docker サービスを開始する方法を知っておく必要がありま...

Linux システムのパフォーマンスを分析するための top コマンドの詳細な説明

Linux topコマンドの紹介top コマンドは、Linux でよく使用されるパフォーマンス分析ツ...

トランジションコンポーネントのアニメーション効果を使用した Vue サンプルコード

トランジションドキュメントアドレスは、フェードインとフェードアウト効果を実現するための背景ポップアッ...

トピックページデザインの 5 つの基本スキル (Alibaba UED Shanmu)

このトピックは、2012 年後半の社内共有です。まだ記事にはなっていませんが、春節が近づいているので...