JavaScript-Singleton-Modus zum Implementieren benutzerdefinierter Popup-Fenster

JavaScript-Singleton-Modus zum Implementieren benutzerdefinierter Popup-Fenster

In diesem Artikel wird der spezifische Code des JavaScript-Singleton-Modus zur Implementierung benutzerdefinierter Popup-Fenster zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt

Funktion

  • Popup-Titel anpassen
  • Popup-Inhalte anpassen
  • Passen Sie die Rückruffunktion zum Bestätigen und Schließen des Popup-Fensters an

Vollständiger Code

const Dialog = (Funktion () {
 Klasse Dialog {
   Konstruktor () {
     dies.ele = Dokument.createElement('div')
     this.ele.className = "Dialog"
     Dokument.Body.AnhängenUntergeordnetesElement(dieses.ele)
     this.callback = null
     dies.setEvent()
   }
 
   setContent ({ Text, Thementext, Bestätigungstext, Abbruchtext } = Optionen) {
     this.ele.innerHTML = null
     const top = document.createElement('div')
     top.Klassenname = "oben"
     const Thema = Dokument.createElement('span')
     Thema.Klassenname = "Thema"
     topic.innerHTML = Thementext
     const close = document.createElement('span')
     close.className = "schließen"
     schließen.innerHTML = '×'
     top.appendChild(Thema)
     top.appendChild(schließen)
     const middle = document.createElement('div')
     mitte.className = "Mitte"
     const Inhalt = Dokument.createElement('div')
     content.className = "Inhalt"
     content.innerHTML = Text
     Mitte.AnhängenKind(Inhalt)
     const bottom = document.createElement('div')
     unten.className = "unten"
     const bestätigen = document.createElement('Schaltfläche')
     bestätigen.className = "bestätigen"
     bestätigen.innerHTML = Bestätigungstext
     const abbrechen = document.createElement('Schaltfläche')
     abbrechen.className = "abbrechen"
     abbrechen.innerHTML = Text abbrechen
     bottom.appendChild(bestätigen)
     bottom.appendChild(abbrechen)
     const wrap = Dokument.createElement('div')
     this.ele.appendChild(oben)
     this.ele.appendChild(Mitte)
     dieses.ele.appendChild(unten)
     dies.ele.style.display = "Block"
   }
 
   setzeEreignis () {
     this.ele.addEventListener('klicken', e => {
       e = e || Fenster.Ereignis
       const Ziel = e.Ziel || e.QuelleElement
       wenn (Ziel.Klassenname === 'schließen') {
         this.ele.style.display = "keine"
         console.log('schließen')
       }
       wenn (Ziel.Klassenname === 'bestätigen') {
         this.ele.style.display = "keine"
         dies.callback(true)
       }
       wenn (Ziel.Klassenname === 'Abbrechen') {
         this.ele.style.display = "keine"
         dies.callback(false)
       }
     })
   }
 }
 let-Instanz = null
 return Funktion (Optionen, cb) {
   wenn (!Instanz) Instanz = neuer Dialog()
   Instanz.setContent(Optionen)
   Instanz.Rückruf = cb || Funktion () {}
   Rückgabeinstanz
 }
 })()
 
 const dialog = neuer Dialog({
 Text: 'Eingabeaufforderungstext',
 topicText: 'Titel',
 confirmText: 'Bestätigen',
 cancelText: 'Abbrechen'
 }, res => { console.log(res) })

Rendern

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • js + html5 realisiert den Effekt einer Popup-Box mit halbtransparenter Maskenebene
  • Toast-Verwendung in vue.js und Beispielcode mit Toast-Popup-Fenster
  • Kapselung des benutzerdefinierten JS-Popup-Box-Plug-Ins
  • Einfache Implementierung von Anzeigeoptionen für JS-Popup-Boxen
  • Vue.js implementiert Popup-Fenster nur einmal
  • js, um den Effekt von Popup-Boxen nach oben, unten, links und rechts zu erzielen
  • Implementieren Sie die Auswahl der Lieferadresse im Popup-Fenster basierend auf layer.js und geben Sie die entsprechenden Adressinformationen zurück
  • JavaScript zum Erstellen eines Popup-Fensters, das nicht geschlossen werden kann
  • Beispielcode von Bootstrap und Angularjs mit selbst erstellter Popup-Box
  • js schreibt das Warnereignis neu (vermeidet, dass die URL im Titel des Warn-Popup-Fensters erscheint)

<<:  Erfahrungsaustausch zur MySQL-Slave-Wartung

>>:  Proxy_pass-Methode in mehreren if in Nginx-Standorten

Artikel empfehlen

Konstruktions- und Nutzungsprozess des Vue3.0-Projekts

Inhaltsverzeichnis 1. Projektkonstruktion 2: Verz...

Ein praktischer Bericht über die Wiederherstellung einer MySQL Slave-Bibliothek

Beschreibung der Situation: Heute habe ich mich b...

So konfigurieren Sie MySQL8 in Nacos

1. Erstellen Sie die MySQL-Datenbank nacos_config...

Docker realisiert die Verbindung mit demselben IP-Netzwerksegment

Vor Kurzem habe ich das Problem gelöst, dass Dock...

Erste Schritte Tutorial für Anfänger ⑨: So erstellen Sie eine Portal-Website

Darüber hinaus wird eine mit einem Blog-Programm e...

Einführung in das Versionsverwaltungstool Rational ClearCase

Rational ClearCase ist ein Tool für das Softwarek...

Eine kurze Einführung in die Kernkenntnisse der VUE uni-app

Inhaltsverzeichnis Spezifikation a. Die Auslageru...

So ändern Sie die Ali-Quelle in Ubuntu 20.04

Beachten Sie, dass dieser Artikel Ihnen nicht ein...

jQuery realisiert den Shuttle-Box-Effekt

In diesem Artikelbeispiel wird der spezifische Co...