In diesem Artikel wird der spezifische Code der JS+Canvas-Zeichnung des Lotterie-Drehtellers zu Ihrer Information bereitgestellt. Der spezifische Inhalt ist wie folgt Ich möchte Ihnen eine Verlosung mit einem von Canvas gezeichneten Drehteller zeigen. Wenn Sie auf den Schalter klicken, um den Drehteller zu starten, beginnt sich der Drehteller zu drehen. Wenn der Drehteller anhält, ist der Bereich, auf den der Zeiger zeigt, der gezogene Preis und wird in der Mitte des Drehtellers angezeigt. Der Effekt ist wie folgt: Der Animationscode lautet wie folgt: <!DOCTYPE html> <html> <Kopf> <Stil> Leinwand { Hintergrund: #eee; } </Stil> <title>Canvas zeichnet das Glücksrad</title> <Skript> fenster.onload = Funktion () { var Leinwand = document.getElementById("Leinwand"); var cobj = canvas.getContext("2d"); var btn = document.getElementById("btn"); var num = Math.PI / 180; cobj.translate(250, 250); var colorArr = ["#24a274", "#2a70a6", "#6d56c3", "#b23880", "#7a9a36", "#b48548", "#397839", "#89489c"]; var textArr = ["js", "html", "css", "php", "mysql", "node", "flutter", "java"]; var Winkel = 0; btn.onclick = Funktion () { Standort.neu laden(); }; var Schritt = 10 + 10 * Math.random(); var t = setzeIntervall(Funktion () { wenn (Schritt <= 0,3) { Intervall löschen(t); var num1 = Math.ceil(Winkel / 45); var con = textArr[textArr.Länge - Num1]; cobj.font = "18px serifenlos"; cobj.textAlign = "zentriert"; cobj.fillText(con, 0, 0); } anders { wenn (Winkel >= 360) { Winkel = 0; } Schritt *= 0,95; Winkel += Schritt; cobj.clearRect(-200, -200, 500, 500); cobj.beginPath(); cobj.Linienbreite = 5; cobj.moveTo(135, 0); cobj.lineTo(150, 0); cobj.stroke(); cobj.Linienbreite = 2; cobj.speichern(); cobj.rotate(Winkel * Zahl); für (var i = 1; i <= 8; i++) { cobj.beginPath(); cobj.moveTo(0, 0); cobj.fillStyle = colorArr[i - 1]; cobj.arc(0, 0, 130, (i - 1) * 45 * Zahl, i * 45 * Zahl); cobj.closePath(); cobj.stroke(); cobj.fill(); } cobj.beginPath(); cobj.fillStyle = "#fff"; cobj.arc(0, 0, 60, 0, 2 * Math.PI); cobj.fill(); für (var i = 0; i < 8; i++) { cobj.speichern(); cobj.beginPath(); cobj.rotate((i * 45 + 20) * num); cobj.fillStyle = "#222"; cobj.font = "18px serifenlos"; cobj.fillText(textArr[i], 75, 0); cobj.wiederherstellen(); } cobj.wiederherstellen(); } }, 60) } </Skript> </Kopf> <Text> <Leinwand id="Leinwand" Breite=500 Höhe=500></Leinwand> <input Typ="Schaltfläche" Wert="Start" id="btn" /> </body> </html> 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:
|
<<: Wird die Tabelle durch ein Update in einer MySQL-Transaktion gesperrt?
>>: Detaillierte Erklärung des Overlay-Netzwerks in Docker
Inhaltsverzeichnis Warum wird addEventListener be...
Inhaltsverzeichnis 1. Funktionsdefinition 1.1 Fun...
Vielleicht weiß jeder, dass die JS-Ausführung die...
Problembeschreibung MySQL meldet beim Start einen...
So fügen Sie ein <script>-Skript in HTML ein...
Beim Einsatz von Docker in einer Produktionsumgeb...
Die Grundlagen der MySQL-Wissenspunkte für die Co...
Ich lerne derzeit etwas über MySQL-Optimierung. D...
Die Docker-Images, die wir normalerweise erstelle...
Da die Nachfrage nach Front-End-Seiten weiter ste...
Inhaltsverzeichnis 1. Konsul-Cluster bereitstelle...
Erste Schritte mit Datenvolumes Wenn wir im vorhe...
1. Prinzip des besten linken Präfixes – Wenn mehr...
In den vorherigen Artikeln wurden die Ersetzungsf...
Laden Sie zuerst die Abhängigkeiten herunter Garn...