Heim Web-Frontend js-Tutorial JS zählt automatisch 30 Sekunden lang herunter, bevor die Schaltfläche verfügbar ist (zwei Szenarien)_Javascript-Kenntnisse

JS zählt automatisch 30 Sekunden lang herunter, bevor die Schaltfläche verfügbar ist (zwei Szenarien)_Javascript-Kenntnisse

May 16, 2016 pm 03:41 PM

Renderings anzeigen:

Countdowns werden in der WEB-Entwicklung häufig verwendet, um die Vorgänge des Benutzers auf dem Formular einzuschränken. Beispielsweise wird erwartet, dass der Benutzer die relevanten Protokollinformationen innerhalb eines bestimmten Zeitraums liest, bevor er mit dem nächsten fortfahren darf Schritt: Wenn der Benutzer beispielsweise einen Mobiltelefon-Bestätigungscode erhält, kann er den Bestätigungscode nach einer bestimmten Zeit erneut abrufen (wenn der Bestätigungscode nicht empfangen wird). Deshalb werde ich Ihnen heute vorstellen, wie Sie Javascript verwenden, um diese einfache Anwendung zu implementieren.

  Demo ansehen Quellcode herunterladen

Anwendungsszenario 1: Die Aktivierung des Buttons ist erst nach Kenntnisnahme der entsprechenden Vertragsinformationen bei der Benutzerregistrierung möglich

Einige Websites erfordern, dass Benutzer bei der Registrierung Informationen wie der sogenannten Benutzervereinbarung zustimmen. Wenn der Inhalt der Vereinbarung sehr wichtig ist, verlangen einige Websites, dass neu registrierte Benutzer die relevanten Vereinbarungsinformationen lesen, bevor sie die Schaltfläche „Weiter“ aktivieren um das Formular abzusenden. Damit Benutzer die Vertragsinformationen lesen können (wir wissen nicht, ob tatsächlich Benutzer sie lesen), wird der Entwickler einen Countdown entwerfen, z. B. 30 Sekunden. Nach 30 Sekunden wird die Schaltfläche zum Senden des Formulars aktiviert wie man es umsetzt.

1

2

3

<form action="http://www.jb51.net/" method="post" name="agree">

 <input type="submit" class="button" value="请认真查看<服务条款和声明> ()" name="agreeb">

</form>

Nach dem Login kopieren

Angenommen, es gibt ein Formular wie das obige. Wir lassen die anderen Teile des Formulars weg. Die Schaltfläche ist zunächst nicht verfügbar. Ich stimme zu“ und kann zur Aktivierung angeklickt werden.

Wir verwenden natives js, um diesen Effekt zu erzielen:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

<script>

var secs = ;

document.agree.agreeb.disabled=true;

for(var i=;i<=secs;i++) {

 window.setTimeout("update(" + i + ")", i * );

}

function update(num) {

 if(num == secs) {

 document.agree.agreeb.value =" 我 同 意 ";

 document.agree.agreeb.disabled=false;

 }

 else {

 var printnr = secs-num;

 document.agree.agreeb.value = "请认真查看<服务条款和声明> (" + printnr +")";

 }

}

</script>

Nach dem Login kopieren

Wir stellen die Zeit auf 30 Sekunden ein. Natürlich können Sie auch die gewünschte Zeit einstellen, die Schaltfläche deaktivieren, also nicht anklicken, und dann die Funktion update() über window.setTimeout aufrufen um die aktuelle Sekunde mit dem Countdown zu vergleichen. Ist der Countdown hingegen abgeschlossen, wird „Ich stimme zu“ angezeigt und die Schaltfläche wird aktiviert.

Anwendungsszenario 2: Der Benutzer aktiviert den SMS-Kanal, um eine Verifizierungscode-SMS an das Mobiltelefon des Benutzers zu senden, um seine Identität zu überprüfen

Viele Websites müssen die Sicherheit der Benutzerinformationen bei der Überprüfung der Benutzeridentität verbessern, damit diese an das Mobiltelefon des Benutzers gebunden werden und die Bestätigungscodeinformationen an das Mobiltelefon des Benutzers gesendet werden, wenn der Benutzer die richtigen Angaben macht Geben Sie den Bestätigungscode ein und senden Sie ihn an das Backend. Dann ist der Vorgang erfolgreich. Das Senden des Bestätigungscodes kann aus verschiedenen Gründen auch fehlschlagen und Benutzer können nicht mehr auf „Senden“ klicken. Auf diese Weise verwenden Entwickler Countdowns, um diese Art von Problem zu lösen. Wenn der Benutzer die SMS aktiviert und die Bestätigungscode-SMS nach 30 Sekunden nicht empfangen wird, kann der Benutzer dann klicken, um die SMS zu senden.

1

2

3

<form action="http://www.jb51.net/" method="post" name="myform">

 <input type="button" class="button" value="获取手机验证码" name="phone" onclick="showtime()">

</form>

Nach dem Login kopieren

Das obige Formular fügt der Schaltfläche ein Onclick-Ereignis hinzu und ruft die Funktion showtime() auf.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

<script>

function showtime(t){

 document.myform.phone.disabled=true;

 for(i=;i<=t;i++) {

 window.setTimeout("update_p(" + i + ","+t+")", i * );

 }

  

}

function update_p(num,t) {

 if(num == t) {

 document.myform.phone.value =" 重新发送 ";

 document.myform.phone.disabled=false;

 }

 else {

 printnr = t-num;

 document.myform.phone.value = " (" + printnr +")秒后重新发送";

 }

}

</script>

Nach dem Login kopieren

Wie Szenario 1, wenn auf die Schaltfläche geklickt wird, wird der Countdown durch Aufrufen von window.setTimeouts update_p() angezeigt Wenn der Vorgang abgeschlossen ist, zeigt die Schaltfläche „Erneut senden“ an und der Schaltflächenstatus ist verfügbar.

Die beiden oben genannten Szenarien zeigen Ihnen, wie js automatisch 30 Sekunden lang herunterzählen kann, bevor die Schaltfläche verfügbar ist. Ich hoffe, dass dies für alle hilfreich ist.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Hot-Tools-Tags

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

JQuery überprüfen, ob das Datum gültig ist JQuery überprüfen, ob das Datum gültig ist Mar 01, 2025 am 08:51 AM

JQuery überprüfen, ob das Datum gültig ist

JQuery Get Element Polsterung/Rand JQuery Get Element Polsterung/Rand Mar 01, 2025 am 08:53 AM

JQuery Get Element Polsterung/Rand

Top 5 Datum Manipulation JS -Plugins Top 5 Datum Manipulation JS -Plugins Feb 28, 2025 am 12:34 AM

Top 5 Datum Manipulation JS -Plugins

10 lohnt 10 lohnt Mar 01, 2025 am 01:29 AM

10 lohnt

10 JQuery Accords Registerkarten 10 JQuery Accords Registerkarten Mar 01, 2025 am 01:34 AM

10 JQuery Accords Registerkarten

JQuery fügen Sie Scrollbar zu Div hinzu JQuery fügen Sie Scrollbar zu Div hinzu Mar 01, 2025 am 01:30 AM

JQuery fügen Sie Scrollbar zu Div hinzu

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

See all articles