In diesem Artikelbeispiel wird der spezifische Code von Vue zur Implementierung der Countdown-Schaltfläche für den Bestätigungscode zu Ihrer Information geteilt. Der spezifische Inhalt ist wie folgt 1. Klicken Sie auf die Schaltfläche „Bestätigungscode senden“ und führen Sie eine logische Beurteilung durch: ▶️ Wenn die E-Mail-Adresse eingegeben wurde und das Format korrekt ist: Der Button ändert sich in „Gesendet“ , ist nicht anklickbar und startet einen Countdown von 120 Sekunden ; 2. Nach Ablauf des 120-s-Countdowns ändert sich die Schaltfläche in „Bestätigungscode erneut senden“ . html: <div v-bind:class="{ 'text_email': isActive, 'text_tip': isTip }">{{tip}}</div> //Fehlermeldung<div class="input"> <i class="ret_icon-email"></i> <Eingabe Typ="Text" v-model="E-Mail" v-bind:class="{ 'input_email0' : hatFehler }" v-on:click="Fehler abbrechen" :placeholder="Geben Sie Ihre E-Mail-Adresse ein" id="EingabeE-Mail" /> <br /> <input type="text" placeholder="Bestätigungscode eingeben" class="input_number" /> <button class="btn_number" v-bind:class="{gray:wait_timer>0}" @click="getCode()"> <span Klasse="num_green" v-show="Anzeigennummer" v-bind:class="{num:wait_timer>0}" >{{this.wait_timer + "s"}}</span> <span Klasse="Spannweite_Nummer" v-bind:Klasse="{gray_span:wait_timer>0}" >{{ getCodeText() }}</span> </button> <br /> </div> javascript - Argumente: Daten() { zurückkehren { Tipp: "Passwort per E-Mail anfordern", isTip: false, istAktiv: wahr, showNum: false, wait_timer: falsch, hatFehler: falsch, E-Mail: "" } }, Methoden: { Fehler abbrechen: Funktion (Ereignis) { dies.hasError = falsch; dies.istActive = wahr; dies.isTip = falsch; this.tip = "Passwort per E-Mail abrufen"; }, getCode: Funktion() { wenn (dieser.wait_timer > 0) { gibt false zurück; } wenn (!diese.email) { dies.hasError = wahr; dies.isActive = falsch; dies.istTip = wahr; this.tip = "E-Mail darf nicht leer sein"; gibt false zurück; } Wenn ( !/^([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+@([a-zA-Z0-9]+[_|\_|\.]?)*[a-zA-Z0-9]+\.[a-zA-Z]{2,3}$/.test( diese.email ) ) { dies.hasError = wahr; dies.isActive = falsch; dies.istTip = wahr; this.tip = "E-Mail-Adresse ist ungültig"; gibt false zurück; } dies.showNum = wahr; dies.wait_timer = 120; var das = dies; var Timerintervall = Intervall festlegen(Funktion() { wenn (das.wait_timer > 0) { das.wait_timer--; } anders { Intervall löschen(Timerintervall); } }, 1000); //Rufen Sie hier Ajax auf, um den Bestätigungscode zu erhalten }, getCodeText: Funktion() { wenn (dieser.wait_timer > 0) { Rückgabe "Gesendet"; } wenn (this.wait_timer === 0) { dies.showNum = falsch; return "Bestätigungscode erneut senden!"; } wenn (this.wait_timer === false) { return "Bestätigungscode senden!"; } }, } CSS: .ret_icon-email { Hintergrund: URL (../../assets/pics/email.svg) keine Wiederholung; //Das Bild ist ein lokales Bild, Breite: 20px; Höhe: 20px; Position: absolut; oben: 12px; links: 16px; } .input_email0 { Rand: 1px durchgezogen rgba(239, 83, 80, 1); } .Eingabenummer { Breite: 112px; Höhe: 44px; Texteinzug: 16px; Rand rechts: 12px; } .btn_Nummer { Breite: 154px; Höhe: 44px; Rahmenradius: 4px; Box-Größe: Rahmenbox; Rand: 1px durchgezogen rgba(76, 175, 80, 1); Zeilenhöhe: 16px; Gliederung: keine; } .span_nummer { Farbe: rgba (76, 175, 80, 1); } .btn_nummer.grau { Hintergrund: rgba(242, 244, 245, 1); Rand: 1px durchgezogen rgba(0, 0, 0, 0,05); } .span_number.grau_span { Farbe: #9a9c9a; } .num_grün.num { Farbe: rgba (76, 175, 80, 1); } Effektbild: 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:
|
<<: Lösen Sie das MySQL-Login-1045-Problem unter CentOS
>>: Detaillierte Erläuterung des Vorgangs zum Löschen der integrierten Version von Python in Linux
Im Gegensatz zu anderen Designarten verändert sich...
Wenn wir einmal von Datenbanken absehen, was ist ...
Inhaltsverzeichnis Ausgehend von der Typbeurteilu...
Vorwort Wenn das WeChat-Miniprogrammprojekt das A...
Nachdem dieses Namensaufrufgerät mit dem Aufruf d...
Manchmal ist das Eingabefeld klein und Sie möchte...
Laden Sie zuerst die neueste komprimierte MySQL 5...
1. Gehen Sie zur offiziellen Website, um das JDK-...
Simulationstabellen und Datenskripte Kopieren Sie...
Frage Die Angabe des Typs der hochgeladenen Datei...
Wie lassen sich Kompatibilitätsprobleme mit virtu...
Syntax der Whitelist-Regel: Grundregel wl:ID [neg...
Vue - Implementierung der Shuttle-Box-Funktion. D...
Wenn Sie den Stil „table-layer:fixed“ für eine Ta...
Als ich kürzlich an CSS-Schnittstellen arbeitete,...