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

Eine kurze Diskussion zum Erstellen eines Clusters in nodejs

Inhaltsverzeichnis Cluster-Cluster Clusterdetails...

Detaillierte Erklärung der Überwachungseigenschaften von Vue

Inhaltsverzeichnis Vue-Monitoreigenschaften Was i...

Vue Uniapp realisiert den Segmentierungseffekt

In diesem Artikel wird der spezifische Code von V...

Lösung zum Anwenden von CSS3-Transformationen auf Hintergrundbilder

CSS-Transformationen sind zwar cool, wurden aber ...

base target="" steuert den Ziel-Open-Frame des Links

<base target=_blank> ändert den Zielrahmen d...

So verwenden Sie Nginx zur Simulation einer Blue-Green-Bereitstellung

Dieser Artikel stellt die Blue-Green-Bereitstellu...

Tutorial zur Samba-Konfiguration für die Dateifreigabe im Linux-System

Inhaltsverzeichnis Deinstallieren und installiere...

MySQL-Optimierung: InnoDB-Optimierung

Lernpläne werden leicht unterbrochen und es ist s...

Ubuntu16.04 erstellt eine php5.6-Webserverumgebung

Ubuntu 16.04 installiert standardmäßig die PHP7.0...

Herausforderung des HTML-Symbol-zu-Entity-Algorithmus

Herausforderung: Wandelt die Zeichen &, <,...