JavaScript Canvas实现浪漫气泡上升特效

作者:像素猫

时间:2026-10-29

浏览:383

本文介绍如何使用HTML5 Canvas元素与JavaScript脚本,实现一个浪漫的气泡向上冒出的网页特效。通过随机生成圆形坐标、颜色及利用定时器控制Y轴位移,为网站增添动态视觉效果。

文章目录

特效概述

本文介绍如何使用JavaScript实现一种浪漫的气泡向上冒出的网页特效,供读者参考学习。

运行效果如下图所示:

特效概述

具体代码实现如下:

实现原理

实现原理:HTML结构中仅需包含一个元素,随后在JavaScript中对该元素进行操作。

1、在Canvas中绘制背景图片。 2、绘制半径介于0至10像素之间的圆形,其X坐标在屏幕水平方向随机分布,Y坐标初始位置位于屏幕高度下方。 圆形的背景色可设置为随机值,从而呈现多彩效果。 利用计时器控制Y坐标递减(y--)。

代码实现

构建HTML结构。


<!doctype html>
<html lang="en">
 <head>
 <meta charset="UTF-8">
 <meta name="Generator" content="EditPlus®">
 <meta name="Author" content="">
 <meta name="Keywords" content="">
 <meta name="Description" content="">
 <title>5多个小球往上运动</title>
 <style>
 </style>
 </head>
 <body>
 <div id="d1">
 <canvas id="canvas"></canvas>
 </div>
 </body>
</html>

JavaScript代码部分。


<script>
 var canvas=document.getElementById("canvas");
 var context=canvas.getContext("2d");
 canvas.width=window.innerWidth;
 canvas.height=window.innerHeight;
 function Circle(){
 this.x=Math.random()*canvas.width;
 this.y=canvas.height;
 this.r=Math.random()*10;
 //绘制圆形
 this.paint=function(){
  context.beginPath();
  context.arc(this.x,this.y,this.r,0,Math.PI*2);
  context.fillStyle="white";
  context.globalAlpha = 0.5;
  context.fill();
 }
 //控制圆形移动
 this.step=function(){
  this.y--;
 }
 }
 var circles=[];
 function createCircles(){
 var circle=new Circle();//??????
 circles[circles.length]=circle;
 }
 
 function paintCircles(){
 for(var i=0;i<circles.length;i++){
  circles[i].paint();
 }
 }
 function stepCircles(){
 for(var i=0;i<circles.length;i++){
  circles[i].step();
 }
 }
 var myimg=new Image();
 myimg.src="images/demo-1.png";
 var timer="";
 setInterval(function(){
 context.drawImage(myimg,0,0);
 timer++;
 if(timer%20==0){
  createCircles();
 }
 paintCircles();
 stepCircles();
 },10);
</script>

若希望在自己的网站中增加浪漫氛围,这是一种不错的方案。希望大家能灵活运用JavaScript实现气泡冒出特效,感谢阅读。

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章