jQuery verwendet das Canvas-Tag, um den Bestätigungscode zu zeichnen

jQuery verwendet das Canvas-Tag, um den Bestätigungscode zu zeichnen

Das <canvas>-Element ist für clientseitige Vektorgrafiken konzipiert. Es weist kein eigenes Verhalten auf, stellt aber eine Zeichen-API für clientseitiges JavaScript bereit, sodass das Skript beliebige Elemente auf eine Leinwand zeichnen kann.

Der Code lautet wie folgt

CSS:

Eingang{
            Breite: 200px;
            Höhe: 32px;
            Rand: 1px durchgezogen #000;
            Box-Größe: Rahmenbox;
        }
        #c1{
             vertikale Ausrichtung: Mitte;
             Box-Größe: Rahmenbox;
             Cursor: Zeiger;
        }
        #btn{
            Anzeige: Block;
            Rand oben: 10px;
            Höhe: 32px;
            Schriftgröße: 16px;
        }

​html:

<div Klasse="Code">
        <input type="text" value="" id="inputValue" placeholder="Bitte geben Sie den Bestätigungscode ein (Groß-/Kleinschreibung nicht beachten)">
    <canvas id="c1" width="100" height="30" style='border:1px solid black'></canvas>
    <button id="btn">Senden</button>    
   
</div>

JavaScript:

$(Funktion(){
            //Zufälligen Bestätigungscode speichern var showNum=[]
            zeichnen(showNum)
            $('#c1').on('klicken',function(){
                zeichnen(showNum)
            })
            $('#btn').on('klicken',function(){
                var s = $('#Eingabewert').val().toLowerCase()
                var s1 = showNum.join("")
                wenn(s==s1){
                    alert('Übermittlung erfolgreich')
                }anders{
                    alert('Fehler beim Bestätigungscode')
                    zeichnen(showNum)
                }
            })
 
            //Kapsel eine Funktion zum Zeichnen eines zufälligen Bestätigungscodes auf der Zeichenfläche function draw(showNum){
                //Leinwand holen
                var Leinwand = $('#c1')
                var ctx = Leinwand[0].getContext('2d')
 
                //Breite und Höhe der Leinwand abrufen var canvas_width = canvas.width()
                var canvas_height = canvas.höhe()
 
                //Zuvor gezeichneten Inhalt löschen//0,0 Startkoordinaten löschen//Rechteckbreite und -höhe ctx.clearRect(0,0,canvas_width,canvas_height)
 
                //Zeichnen beginnen var scode='a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,0,1,2,3,4,5,6,7,8,9'
                console.log("123");
                var arrCode = scode.split(',')
                Konsole.log(arrCode);
                var arrLength = arrCode.Länge
                für(var i=0;i<4;i++){
                    var index = Math.floor(Math.random()*arrCode.length)
                    //Ein zufälliges Zeichen var txt = arrCode[index]
                    showNum[i] = txt.toLowerCase()
 
                    //Beginnen Sie mit der Steuerung der Zeichenposition der Zeichen var x=10+20*i//Die x-Koordinate des Startpunkts jeder Zeichnung des Bestätigungscodes var y=20+Math.random()*8//Die y-Koordinate des Startpunkts ctx.font='bold 20px Microsoft YaHei' 
 
                    //Starten Sie die Rotation der Zeichen var deg = Math.random()-0.5
                    //Canvas möchte den Neigungseffekt des Zeicheninhalts erzielen, er muss zuerst übersetzt werden //Um den Rotationspunkt an die Stelle zu verschieben, an der der Inhalt gezeichnet wird ctx.translate(x,y)
                    ctx.rotate(Grad)
                    //Setze die Zeichenfarbe auf eine zufällige Farbe ctx.fillStyle=randomColor()
                    ctx.fillText(txt,0,0)
                    //Leinwand wiederherstellen ctx.rotate(-deg)
                    ctx.translate(-x,-y)
                    // ctx.stroke()
                }
                für(var i=0;i<=30;i++){
                    wenn(i<5){
                        //Linie zeichnen ctx.strokeStyle=randomColor()
                        ctx.beginPath()
                        ctx.moveTo(Math.random()*Leinwandbreite,Math.random()*Leinwandhöhe)
                        ctx.lineTo(Math.random()*Leinwandbreite,Math.random()*Leinwandhöhe)
                        ctx.stroke()
                    }
                    //Punkte zeichnen ctx.strokeStyle=randomColor()
                    ctx.beginPath()
                    x=Math.random()*Leinwandbreite
                    y=Math.random()*Leinwandhöhe
                    ctx.moveTo(x,y)
                    ctx.lineTo(x+1,y+1)
                    ctx.stroke()
                }
 
 
            }
            Funktion Zufallsfarbe(){
                var r = Math.floor(Math.random()*256)
                var g = Math.floor(Math.random()*256)
                var b = Math.floor(Math.random()*256)
                gibt `rgb(${r},${g},${b})` zurück
            }
        })

Um diesen Effekt zu erzielen

Wenn Sie auf das Canvas-Tag klicken, wird ein Bild ersetzt

Wenn die Eingabe korrekt ist, erscheint ein Eingabefenster mit der Meldung „Eingabe korrekt“.

Wenn ein Fehler auftritt, wird die Meldung „Eingabefehler“ angezeigt und nach dem Klicken auf „OK“ wird das Feld mit dem Bestätigungscode ersetzt.

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:
  • JQuery implementiert eine einfache Lösung für die Eingabeaufforderung mit Bestätigungscode
  • jQuery implementiert den Countdown-Code zum Senden des Bestätigungscodes per Mobiltelefon
  • jQuery implementiert das Senden eines Bestätigungscodes und eine 60-Sekunden-Countdown-Funktion
  • JQuery-Plug-In, um ein erneutes Abrufen innerhalb von 60 Sekunden nach dem Klicken zum Abrufen des Bestätigungscodes zu verhindern
  • jQuery-Plugin zur Implementierung der statischen HTML-Verifizierungscode-Verifizierung
  • jQuery-Klick, um den Bestätigungscode-Button und die Countdown-Funktion zu erhalten
  • jQuery implementiert die Bestätigungscodefunktion
  • jQuery implementiert eine einfache Bestätigungscodefunktion
  • jQuery implementiert ein Formular zum Abrufen eines SMS-Bestätigungscodes
  • jQuery implementiert den Countdown-Effekt-Code-Sharing beim Senden des Bestätigungscodes per Mobiltelefon

<<:  Vergessen Sie nicht, den HTML-Tag zu schließen

>>:  Vergleich der Verwendung von EXISTS und IN in MySQL

Artikel empfehlen

Befehlscodebeispiele für die Installation und Konfiguration von Docker

Docker-Installation Installieren von Abhängigkeit...

Prinzip und Anwendung der MySQL-Master-Slave-Synchronisation

Inhaltsverzeichnis 1. Master-Slave-Synchronisatio...

Verwenden von jQuery zum Implementieren des Karusselleffekts

Was ich Ihnen heute zeige, ist die Verwendung von...

Fallstudie zum Löschen und Neuinstallieren eines Mac-Knotens

Mac-Knoten löschen und neu installieren löschen K...

Detaillierte Erläuterung der perfekten CSS3+JS-Implementierung des Lupenmodus

Vor etwa einem Jahr habe ich einen Artikel geschr...

Schritte zur Verwendung von ORM zum Hinzufügen von Daten in MySQL

【Vorwort】 Wenn Sie ORM zum Bedienen von Daten in ...

Zwei Lösungen für das 404-Problem beim Aktualisieren des Vue-Paket-Upload-Servers

1: Nginx-Serverlösung, ändern Sie die .conf-Konfi...

Bereitstellung und Konfiguration des Apache-Dienstes unter Linux

Inhaltsverzeichnis 1 Die Rolle von Apache 2 Apach...

js Implementierung des Verifizierungscode-Falls

In diesem Artikelbeispiel wird der spezifische Co...

Implementierung der Docker-Bereitstellung eines MySQL-Clusters

Nachteile einer Single-Node-Datenbank Große Inter...

So stellen Sie Go-Webanwendungen mit Docker bereit

Inhaltsverzeichnis Warum brauchen wir Docker? Bei...