jQueryはシャトルボックス効果を実現します

jQueryはシャトルボックス効果を実現します

この記事では、シャトルボックス効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

はじめに:今日はシャトルフレームの実現について紹介します

レイアウト実装

<div id="ボックス">
  <div id="boxleft">
   <ul id="left_ul">

   </ul>
  </div>
  <div id="boxbtn">
   <button id="btn_right">>>>></button>
   <ボタン id="btn_left">
    <<<< </ボタン>
  </div>
  <div id="boxright">
   <ul id="right_ul">

   </ul>
  </div>
</div>

レイアウトスタイル

<スタイル>
  * {
   マージン: 0 自動;
   パディング: 0;
   リストスタイル: なし;
  }

  #箱 {
   幅: 500ピクセル;
   ディスプレイ: フレックス;
   コンテンツの両端揃え: スペースを空ける;
   上マージン: 20px;
  }

  #ボックス右 {
   幅: 200ピクセル;
   高さ: 500px;
   境界線: 1px 実線ダークシアン;
  }

  #ボックス左 {
   幅: 200ピクセル;
   高さ: 500px;
   境界線: 1px 実線ダークシアン;
  }

  #ボックスボタン{
   マージン: 自動;
  }

  #boxbtn ボタン {
   幅: 50px;
   高さ:200ox;
   上マージン: 10px;
   ディスプレイ: フレックス;
   背景: deepskyblue;
   カーソル: ポインタ;
   色: 白;
  }

  ul li {
   高さ: 30px;
   行の高さ: 30px;
   下マージン: 2px;
   テキスト配置: 中央;
   背景: ダークグレー;
  }

  形状 {
   テキスト配置: 中央;
  }

  。アクティブ {
   色: 白;
   背景: ダークシーグリーン;
  }
</スタイル>

コードの実装

<スクリプト>
  arr = [とする
   { "id": 1, "name": "zhang", "check": false },
   { "id": 2, "name": "liu", "check": false },
   { "id": 3, "name": "guan", "check": false },
   { "id": 4, "name": "zhao", "check": true },
   { "id": 5、 "name": "ao"、 "check": true }
  ];

  $("#add").click(関数() {
   var name = $("#name").val();
   arr.push({ "名前": 名前 });
   表示UL(arr);
  })
  $(関数() {
   表示UL(arr);
  })
  関数 showUL(arr) {
   var leftstr = "";
   var rightstr = "";
   for(let i in arr) {
    {id、名前、チェック} = arr[i]とします。
    if (チェック) {
     右文字列 += `
      <li _id="${id}">${名前}</li>
    `
    } それ以外 {
     左str += `
      <li _id="${id}">${名前}</li>
    `
    }

   }
   $("#left_ul").html(leftstr);
   $("#right_ul").html(rightstr);
  }


  $("#left_ul").on("クリック", "li", 関数 () {
   インデックスをarr.findIndex((v) => {とする
    v.id == $(this).attr("_id"); を返します。
   })

   $(this).hasClass('active') の場合 {
    $(this).removeClass('active');
    arr[インデックス].check = false;
   } それ以外 {
    $(this).addClass('アクティブ');
    arr[インデックス].check = true;
   }
  });
  $("#right_ul").on("クリック", "li", 関数 () {
   インデックスをarr.findIndex((v) => {とする
    v.id == $(this).attr("_id"); を返します。
   })

   $(this).hasClass('active') の場合 {
    $(this).removeClass('active');
    arr[インデックス].check = true;
   } それ以外 {
    $(this).addClass('アクティブ');
    arr[インデックス].check = false;
   }
  });
  $("#btn_right").click(関数() {
   ($("#left_ul .active").length == 0) の場合は false を返します。

   表示UL(arr);
  })
  $("#btn_left").click(関数() {
   ($("#right_ul .active").length == 0) の場合は false を返します。
  
   表示UL(arr);
  })  
</スクリプト>

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

以下もご興味があるかもしれません:
  • jQueryはシャトルボックス機能を実現する

<<:  MySQL 5.7.13 ソースコードのコンパイル、インストール、および構成方法のグラフィックチュートリアル

>>:  DockerコンテナでのMySQLデータのインポート/エクスポートの詳細な説明

推薦する

詳細なLinuxインストールチュートリアル

(Win7 システム) VMware 仮想マシンのインストール チュートリアルVMware は仮想マ...

Vue でよく使われる命令 v-if と v-show の違いを簡単に分析します。

目次序文1.v-ショー2.v-if 3. v-showとv-ifの違い1. 原則の違い2. アプリケ...

JSON.parse と JSON.stringify の使い方の詳細な説明

目次JSON.パースJSON.parse 構文リバイバーパラメータJSON.parse の機能その他...

Docker ケース分析: Redis サービスの構築

目次1 マウントディレクトリとファイルを作成する2 Redisイメージを取得する3 コンテナを作成し...

nginxのリソースキャッシュ設定の詳細な説明

私はずっとキャッシュについて学びたいと思っていました。結局のところ、キャッシュはフロントエンドのパフ...

React でインデックスをキーとして使用することが推奨されないのはなぜですか?

1. 古い仮想DOMと新しい仮想DOMを比較し、まずキーが同じかどうかを確認します。 2. 引き続...

ウェブページ制作をマスターするために必要な6つのスキルのまとめ

ウェブデザイナーはジェネラリストであると言わざるを得ません。グラフィックデザイナーは、さまざまな特殊...

Vue3 プロジェクトで WeChat 認証ログインをエレガントに実装する方法

目次序文準備する実装のアイデアコードについて要約する序文WeChat 認証ログインは、WeChat ...

Tencent Cloud Server Tomcat ポートにアクセスできない場合の解決策

最近、Tencent Cloudを使用してサーバーを設定しました。使用中に、tomcatポートにアク...

さまざまなMySQLインデックスの使用方法の詳細な説明

1. 遅いクエリログ1.1 MySQL ログの種類ログは、データベースの操作や、ユーザーがデータベー...

リモートログインとポート公開を防ぐためのLinuxサーバー構成IPホワイトリスト

序文ブロガーが使用しているサーバーは Alibaba Cloud から購入したものです。実際、Ali...

HTML の左右レイアウトのサンプルコード

CS: ...コードをコピーコードは次のとおりです。 html,body{ margin:0px; ...

MySQL のロックに関する問題

ロックの分類:データ操作の粒度から:テーブルロック:操作時にテーブル全体がロックされます。行ロック:...

js 配列から重複を削除する 11 の方法

実際の業務や面接では、「配列の重複排除」の問題によく遭遇します。以下は、js を使用して実装された配...

Windows ホストと Docker コンテナに共有フォルダを設定してマウントする手順

Docker コンテナ内のプログラムは、ホスト ディレクトリ内のデータにアクセスして呼び出す必要があ...