Heim >Web-Frontend >js-Tutorial >Vollständiges Beispiel für einen Arc-Swing-Effekt, der mit JavaScript-HTML5-Canvas_Javascript-Kenntnissen erstellt wurde
Das Beispiel in diesem Artikel beschreibt den Arc-Swing-Effekt, der von JavaScript HTML5 Canvas gezeichnet wird. Teilen Sie es als Referenz mit allen. Die Details lauten wie folgt:
Der Screenshot des Laufeffekts sieht wie folgt aus:
Der spezifische Code lautet wie folgt:
<!DOCTYPE html> <html> <head> <title>demo</title> <style type="text/css"> #canvas { margin:50px; border:5px solid gray; box-shadow:0px 0px 5px 5px #494949; } </style> </head> <body> <canvas id="canvas" width="500px" height="500px"></canvas> </body> <script type="text/javascript"> var canvas = document.getElementById("canvas"); var ctx = canvas.getContext("2d"); var r_x = 250, r_y = 0; var offset_h = 250; var offset_w = 500; var count = 0; var mode = "up"; var temp = 0; var getRPoint = function(x, y) { var r = (Math.pow(x, 2) + Math.pow(y, 2)) / (2 * y); var point = { x: x, y: Math.abs(250 - (r - y)), r: r }; return point; }; function arc(attrs) { ctx.beginPath(); ctx.arc(attrs.x, attrs.y, attrs.r, attrs.startAngle || 0, attrs.endAngle || Math.PI); ctx.stroke(); } var interval = setInterval(function() { count++; switch(mode) { case "up": temp = count; ctx.clearRect(0, 0, 500, 500); if(count%18 == 0) { mode = "down"; return; } break; case "down": temp = 36 - count; ctx.clearRect(0, 0, 500, 500); if(count%36 == 0) { mode = "default"; return; } break; case "default": temp = count - 36; if(count%54 == 0) { mode = "up"; count = 0; return; } } arc(getRPoint(250, 250-8*temp)); }, 100); </script> </html>
Leser, die an weiteren Inhalten zu js-Spezialeffekten interessiert sind, können sich die Spezialthemen dieser Website ansehen: „Zusammenfassung der Verwendung von jQuery-Animationen und Spezialeffekten“ und „Zusammenfassung gängiger Klassiker Spezialeffekte von jQuery"
Ich hoffe, dass dieser Artikel für alle hilfreich ist, die sich mit der JavaScript-Programmierung befassen.