この記事の例では、商品スクリーニング機能を実装するためのjsの具体的なコードを参考までに共有しています。具体的な内容は次のとおりです。 応用シナリオ: 製品スクリーニング <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <title>ドキュメント</title> <スタイル タイプ="text/css"> * { マージン: 0; パディング: 0; リストスタイル: なし; テキスト装飾: なし; } 。選ぶ { 幅: 500ピクセル; 高さ: 自動; マージン: 自動; } .ナビゲーションを選択{ 高さ: 50px; 背景色: 赤; } .ナビゲーションスパンを選択{ マージン: 0 5px; } .choose .show { 色: 赤; } .ul li {を選択します 境界線: 1px 黒一色; } .choose ul li a { ボックスのサイズ: 境界線ボックス; 表示: インラインブロック; 幅: 40px; border-left: 1px 黒一色; マージン: 5px; 左パディング: 5px; } </スタイル> </head> <本文> <div class="choose"> <nav></nav> <ul> <li> <strong>モバイル:</strong> <a href="javascript:;">シャオミ</a> <a href="javascript:;">ファーウェイ</a> <a href="javascript:;">リンゴ</a> <a href="javascript:;">オッポ</a> <a href="javascript:;">生体</a> </li> <li> <strong>価格:</strong> <a href="javascript:;">3200</a> <a href="javascript:;">2600</a> <a href="javascript:;">899</a> <a href="javascript:;">2799</a> <a href="javascript:;">2299</a> </li> <li> <strong>スクリーン:</strong> <a href="javascript:;">399</a> <a href="javascript:;">600</a> <a href="javascript:;">800</a> <a href="javascript:;">1200</a> </li> </ul> </div> </本文> </html> <script type="text/javascript"> var li = document.querySelectorAll('li'); var stack = []; //3種類のオプションを保存 (var i = 0; i < li.length; i++) の場合 { // 処理する各 li のオプションを取得します。var options = li[i].querySelectorAll("a"); (var j = 0; j < options.length; j++) { // オプションがクリックされると、クリックのカテゴリが渡されます。 // options[j].onclick = Aclick.bind(options[j], [i]); //1. クリック イベントを分離します options[j].onclick = Bclick(i); //2. クリック イベントを分離します } } </スクリプト> これを書くときに、このイベント関数を分離したいのですが、パラメータがあります。そこで問題が起こります イベント関数をパラメータで分離するにはどうすればよいですか? ? ? つまり、2つの方法がある 1.bindを使用してこのポインタを変更し、実行されていない関数を返します。 関数Aclick(インデックス) { // ナビゲーションを削除 var 選択 = document.querySelector('.choose'); var nav = document.querySelector(".choose nav"); nav 要素を選択します。 // スタックを使用して再追加 stack[index] = this.innerHTML; var nav = document.createElement("nav"); (k = 0; k < スタック長さ; k++) { if (stack[k] != "" && stack[k] != undefined) { // スタック内の空の項目をスキップし、再び span を nav に追加します var span = document.createElement("span"); var a = document.createElement("a"); a.innerHTML = "X"; a.href = "javascript:void(0);"; span.innerHTML = スタック[k]; a.onclick = 関数() { スタック[インデックス] = ""; nav.removeChild(this.parentNode); } span.appendChild(a); nav.appendChild(span); } } nav の前に選択して挿入します。 } 2. 登録関数の外側に登録関数を返す関数を追加する 関数 Bclick(インデックス) { 関数()を返す{ // ナビゲーションを削除 var 選択 = document.querySelector('.choose'); var nav = document.querySelector(".choose nav"); nav 要素を選択します。 // スタックを使用して再追加 stack[index] = this.innerHTML; var nav = document.createElement("nav"); (k = 0; k < スタック長さ; k++) { if (stack[k] != "" && stack[k] != undefined) { // スタック内の空の項目をスキップし、再び span を nav に追加します var span = document.createElement("span"); var a = document.createElement("a"); a.innerHTML = "X"; a.href = "javascript:void(0);"; span.innerHTML = スタック[k]; a.onclick = 関数() { スタック[インデックス] = ""; nav.removeChild(this.parentNode); } span.appendChild(a); nav.appendChild(span); } } nav の前に選択して挿入します。 } } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: MySQL スロークエリ: スロークエリを有効にする
<br />「この世に醜い女性はいない、あるのは怠惰な女性だけだ」これは女性の美のバイブ...
この記事では、MySQL のデータ型とフィールド属性について説明します。ご参考までに、詳細は以下の通...
序文MySQL は、myisam、innodb、memory、archive、example など、...
降順インデックスとは何ですか?インデックスについてはよくご存知かもしれませんが、降順インデックスにつ...
パブリックアカウントのファンデータを同期してバッチプッシュするときに、サーバーがエラー502を報告し...
1. サーバーのセットアップリモート リポジトリは実際にはローカル リポジトリと何ら変わりなく、純粋...
インターネット上には、正しい方法であっても、使用しても正しい結果が得られない方法が数多くあります。正...
開発およびデバッグのプロセスでは、新しいコードと古いコードの違いを比較する必要があります。比較には、...
目次1.Linuxログインインターフェース2. コードを書く3. Makefileを書く4. コンパ...
目次1 はじめに2 基本的な使い方2.1 方法2.2 計算プロパティ2.3 リスナーを見る3 3つの...
最近プロジェクトが中断され、RageFrame の研究は一時的に終了しました。この記事では、シングル...
404 を避けるべきだとどうして言えるのでしょうか? その理由は、ほとんどの 404 ページが粗雑す...
はじめに: 最近 Hadoop プラットフォームの構築を勉強し始めたので、ローカルマシンに VMwa...
目次1. はじめに2. フィルター() 3. マップ() 4. ソート() 5. 減らす() 6. ...
目次序文パブリッシュ・サブスクライバ・パターン結果電話要約する序文双方向データ バインディングとは、...