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

mysql 8.0.18 mgr-Installation und seine Umschaltfunktion

1. Systeminstallationspaket yum -y install make g...

CSS3 zum Erreichen eines Menü-Hover-Effekts

Ergebnis: html <nav id="nav-1"> &...

So installieren Sie Jenkins auf CentOS 8

Um Jenkins auf CentOS 8 zu installieren, müssen S...

Erfahrungsaustausch zur MySQL-Slave-Wartung

Vorwort: Die MySQL-Master-Slave-Architektur dürft...

HTML-Tabellen-Tag-Tutorial (25): vertikales Ausrichtungsattribut VALIGN

In vertikaler Richtung können Sie die Zeilenausri...

Sortieren von MySQL-Aggregatfunktionen

Inhaltsverzeichnis MySQL-Ergebnissortierung - Agg...

Detailliertes Tutorial zur Installation des Quellcodes von CentOS6.9+Mysql5.7.18

Bei der Installation des Quellcodes von CentOS6.9...

CSS3 realisiert das Effektdiagramm zur Produktanzeige auf der Website

Dieser Artikel stellt die Wirkung der Produktanze...

Vollständige Analyse der Webseitenelemente

Relative Längeneinheiten em Beschreibung: Relative...

Einführung in häufig verwendete MySQL-Befehle in der Linux-Umgebung

Geben Sie den MySQL-Befehl ein: mysql -u+(Benutze...

Detaillierte Erklärung von MySQL Explain

Bei unserer täglichen Arbeit führen wir manchmal ...