この記事では、カスタムポップアップボックスを実装するための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 をインストールした後、テーブル データを保存および削除しようとすると、常にエラー メッセ...
目次1. 開発前の準備2. 新しいプロジェクトIdea は Java 開発のための強力なツールであり...
序文MySQL 5.1.6 以降、非常にユニークな機能であるイベント スケジューラが追加されました。...
同じサーバーで、Docker を使用して Mysql のマスター スレーブ同期設定をシミュレートしま...
目次Nginx 負荷分散構成Nginx 負荷分散戦略ポーリング(デフォルト)重さip_ハッシュ公正(...
MySQL でデータを削除する方法は 2 つあります。1 つは DELETE ステートメント、もう ...
目次1.配列を初期化する2. 配列の合計、最大値、最小値3. エラー値をフィルタリングする4. 論理...
以下のインストールではすべて、インストール ルート ディレクトリとして ~/ ディレクトリが使用され...
CN2ラインとは何ですか? CN2 は、China Telecom Next Carrier Ne...
この記事では、WeChatアプレットのスクロールビューの左右連動を実現するための具体的なコードを参考...
この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...
目次ツリー項目にコードを追加します。 1. 右側に関連情報ページを保存します(userManage....
起動時に Ubuntu デュアル システムが停止する問題の解決方法 (Ubuntu 16.04 およ...
Linux では、シンボリック リンクを作成または削除する必要がある場合があります。もしそうなら、何...
今日は、シンプルなハートビート効果を作成します。多くのコードは必要ありません。ボックスを追加し、CS...