この記事では、カスタムポップアップボックスを実装するためのJavaScriptシングルトンモードの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。 関数
完全なコードconst ダイアログ = (関数 () { クラスダイアログ{ コンストラクタ(){ this.ele = document.createElement('div') this.ele.className = 'ダイアログ' document.body.appendChild(this.ele) this.callback = null イベントを設定する } setContent ({ テキスト、トピックテキスト、確認テキスト、キャンセルテキスト } = オプション) { this.ele.innerHTML = null 定数 top = document.createElement('div') top.className = 'top' 定数トピック = document.createElement('span') topic.className = 'トピック' topic.innerHTML = トピックテキスト 定数close = document.createElement('span') close.className = 'close' close.innerHTML = '×' top.appendChild(トピック) top.appendChild(閉じる) const 中間 = document.createElement('div') middle.className = 'middle' 定数コンテンツ = document.createElement('div') content.className = 'コンテンツ' content.innerHTML = テキスト middle.appendChild(コンテンツ) 定数ボトム = document.createElement('div') bottom.className = 'bottom' const 確認 = document.createElement('button') confirm.className = '確認' 確認.innerHTML = 確認テキスト const キャンセル = document.createElement('button') cancel.className = 'キャンセル' キャンセル.innerHTML = キャンセルテキスト bottom.appendChild(確認) bottom.appendChild(キャンセル) 定数 wrap = document.createElement('div') this.ele.appendChild(トップ) this.ele.appendChild(中間) this.ele.appendChild(下) this.ele.style.display = 'ブロック' } イベントを設定する(){ this.ele.addEventListener('クリック', e => { e = e || ウィンドウイベント 定数ターゲット = e.target || e.srcElement (target.className === 'close')の場合{ this.ele.style.display = 'なし' コンソールログ('閉じる') } (target.className === '確認')の場合{ this.ele.style.display = 'なし' this.callback(true) } target.className === 'キャンセル'の場合{ this.ele.style.display = 'なし' this.callback(false) } }) } } インスタンス = null とする 関数を返す(オプション、cb){ if (!instance) インスタンス = new Dialog() インスタンス.setContent(オプション) インスタンス.コールバック = cb || 関数 () {} インスタンスを返す } })() const ダイアログ = 新しいダイアログ({ テキスト: 'プロンプトテキスト'、 topicText: 'タイトル', confirmText: '確認', cancelText: 'キャンセル' }, res => { console.log(res) }) レンダリング 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: nginx の場所に複数の Proxy_pass メソッドがある
MySQL は、マルチテーブルクエリを実行するときにエラーを報告します。 [SQL] SELECT ...
結果:実装コードhtml <ul class="スライド"> <...
最近、業務上の理由により、Web ページ上のさまざまなネットワーク カメラにアクセスしてデバッグする...
最近、Vue プロジェクトについて知り、ElementUI でデータを xlsx および Excel...
本文は以下から始まります。 123WORDPRESS.COM ダウンロード:純粋な CSS3 で超リ...
目次1. 基本的な使い方2. 指示の動作原理2.1. 初期化2.2 テンプレートのコンパイル2.3....
継承する1. 継承とは何か継承: まず、継承とは関係、つまりクラス間の関係です。JS にはクラスはあ...
目次序文ネットワーク速度のフロントエンド判定原理のまとめ1. img を読み込むか Ajax リクエ...
VirtualBox は、技術者が異なる種類の複数の仮想マシン (VM) を同時に実行できるようにす...
Git 入門Git は、Linux(R) カーネル開発の管理を支援するために 2005 年に Lin...
KVM はカーネルベースの仮想マシンの略で、Linux をハイパーバイザーに変換する Linux ...
1. エラーの再現MySQL データベースにはアクセスできますが、データベース テーブルを読み取るこ...
xhtml+css のウェブサイト再構築、ウェブ標準などについては、記事が多すぎるので繰り返しません...
1. 分散ストレージシステムの概要情報技術の継続的な発展により、利便性がもたらされる一方で、データ量...
目次1. デップ2. 観察者を理解する3. 監視と観察者を理解する4. トリガーの依存性5. プロセ...