This article example shares with you the specific code for implementing a super cool water light effect based on canvas for your reference. The specific content is as follows <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Super cool water light effect based on canvas</title> <style> *{ margin: 0; padding: 0; } canvas{ border: 1px solid red; width: 100%; height: 100%; } </style> </head> <body onselectstart="return false"> <!-- Add the canvas tag and add a red border to make it easier to see on the page--> <canvas id="myCanvas" > Your browser does not support the canvas tag. </canvas> <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script> <script type="text/javascript"> var canvas = document.getElementById("myCanvas"); var ctx = canvas.getContext("2d"); var cx1 = canvas.offsetLeft; var cy1 = canvas.offsetTop; var cx2 = canvas.offsetLeft + canvas.offsetWidth; var cy2 = canvas.offsetTop + canvas.offsetHeight; var bbox = canvas.getBoundingClientRect(); $(function(){ var direction = 'right',x = y = right_count = down_count = left_count = up_count = 0; ctx.beginPath(); //Start a new drawing path ctx.moveTo(x, y); //Define the starting point coordinates of the line as (0,0) setInterval(function(){ ctx.strokeStyle = '#'+Math.floor(Math.random()*16777215).toString(16); switch(direction){ case 'right': if(x >= 300 - right_count){ direction = 'down'; right_count++; }else{ x++; } break; case 'down': if(y >= 150 - down_count){ direction = 'left'; down_count++; }else{ y++; } break; case 'left': if(x <= left_count){ direction = 'up'; left_count++; }else{ x--; } break; case 'up': if(y <= up_count + 1){ direction = 'right'; up_count++; }else{ y--; } break; } ctx.lineTo(x, y); ctx.lineCap = 'round'; ctx.lineWidth = 1; //Set the width of the line segment ctx.stroke(); //Draw a straight line along the path of the coordinate point sequence }, 1); }) </script> </body> </html> Effect screenshots: The running lights are always running, and they are mainly circling here. The above is the full content of this article. I hope it will be helpful for everyone’s study. I also hope that everyone will support 123WORDPRESS.COM. You may also be interested in:
|
<<: In-depth analysis of the Identifier Case Sensitivity problem in MySQL
>>: Detailed explanation of two ways of Linux service management: service and systemctl
Recently, a problem occurred in the project. The ...
Achieve resultsImplementation Code html <base ...
This article shares the specific code of Vue to i...
First, let’s think about a question: To insert su...
Use Code Cloud to build a Git code storage wareho...
Professional web design is complex and time-consu...
Install Enter the following command to install it...
Table of contents Prune regularly Mirror Eviction...
Click here to return to the 123WORDPRESS.COM HTML ...
After IntelliJ IDEA deploys a Javaweb project usi...
Real-time replication is the most important way t...
<frameset></frameset> is familiar to e...
Today, I am sharing the valuable experience of a ...
Yes, CSS has regular expressions too (Amen) Two p...
Introduction to Load Balancing Before introducing...