序文 仕事では、毎週従業員が提出した資料を数える必要がありますが、それを一つずつコピーして貼り付けるのは面倒なので、誰が資料を提出していないかを見つけるのに役立つ小さなツールを作成する必要があります。 まずはページを修正しましょう <!DOCTYPE html> <html lang="ja"> <ヘッド> <メタ文字セット="UTF-8"> <meta http-equiv="X-UA-compatible" content="IE=edge"> <meta name="viewport" content="width=デバイス幅、初期スケール=1.0"> <title>ドキュメント</title> <スタイル> テキストエリア { /* 境界: なし; */ 幅: 49%; 高さ: 400px; /* フォントサイズ: 17pt; */ } #ボタン{ 幅: 100%; 高さ: 50px; 位置: 相対的; 上: 0px; /* 位置: 絶対; */ } #p2 { 左マージン: 940px; 上マージン: -38px; } </スタイル> </head> <本文> <button id="btn" class="ambi-light-button">比較</button> <textarea id="txt" type="text" placeholder="送信する必要があります"></textarea> <textarea id="txt2" type="text" placeholder="送信済み"></textarea> <時間> <p>送信されていません</p> <p id="p2">欠席者リストが提出されました</p> <textarea id="txt3" type="text" placeholder="未送信"></textarea> <textarea id="txt4" type="text" placeholder="リストに載っていない人のリストを送信しました"></textarea> </本文> </html> ちょっと醜いけど、自分で使う分には問題ない JSコードを書き始める <スクリプト //まず入力ボックスとボタンを取得します。let txt = document.querySelector('#txt') txt2 = document.querySelector('#txt2') とします。 txt3 = document.querySelector('#txt3') とします。 txt4 = document.querySelector('#txt4') とします。 btn = document.querySelector('#btn') とします。 //次に、差を求める配列を記述します。const getDifference = function (a, b) { //説明: 渡された 2 つの関数が配列の場合 if (a.constructor === Array && b.constructor === Array) { set1 = new Set(a); set2 = new Set(b); // Set を使用して重複を削除し、フィルターを使用して差異を検索します。 return Array.from(new Set([...set1].filter(x => !set2.has(x)))); } null を返します。 } // ボタンにクリックイベントを与えるだけです btn.onclick = function () { // 提出すべき人のリスト let Should_sub = txt.value.split('\n') //まだ提出していない人のリスト let already_sub = txt2.value.split('\n') l3 = getDifference(Should_sub, already_sub) とします。 // リストに提出されていない人数 let l4 = getDifference(already_sub, Should_sub) //フィルタリングされた値はページ上の2つの入力ボックスにフィードバックされます txt3.value = l3.join('\n') txt4.値 = l4.join('\n') } </スクリプト> 要約する JavaScript の差分を使用して比較ウィジェットを実装する方法についての記事はこれで終わりです。より関連性の高い JS 差分実装の比較ウィジェットのコンテンツについては、123WORDPRESS.COM の以前の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。 以下もご興味があるかもしれません:
|
<<: Docker で複数のアプリケーション サイトをプロキシするために Nginx を使用する方法
>>: MySQL 5.7.23 解凍バージョンのインストールチュートリアル(画像とテキスト付き)
1. docker設定ファイルを変更し、ポート2375を開きます。 [root@s162 docke...
先ほど使用したDocker HubはDockerによって提供されています。独自のDockerを構築す...
目次MySQLの大文字と小文字の区別はパラメータによって制御されますMySQLの大文字と小文字の区別...
1. nginxソースディレクトリに新しいrtmpディレクトリを作成し、git clone http...
目次リスナープロパティとは何ですか?リスニングプロパティと計算プロパティの違いは何ですか?監視プロパ...
目次MySQL 5.6以前MySQL 5.6以降要約する知らせMySQL 5.6以前更新手順元のテー...
次の Web デザイン プロジェクトはレスポンシブにする必要があると上司をようやく納得させることがで...
1. HTMLの概要htyper テキスト マークアップ言語 ハイパーテキスト マークアップ言語ハ...
1. redis で使用すると Netty の起動競合が発生するため、***Application ...
導入MySQL データベースの読み取りと書き込みの分離を設定すると、データベースに対する書き込み操作...
まずコードを見てみましょうコードをコピーコードは次のとおりです。 <div style=&qu...
最近、プロジェクトで input size 属性と maxlength 属性を使用しました。以前は、...
導入:インターネット上にはデータベースの最適化に関する情報や方法が数多くありますが、その多くは品質に...
<br />123WORDPRESS.COM の以前のチュートリアルでは、Web ページ...
背景以前、当社のプロジェクト チームは、Windows、Linux、macOS の 3 つの主要なオ...