JavaScript Canvas实现浪漫气泡上升特效
作者:像素猫时间:2026-10-29 17:45:42浏览:384
本文介绍如何使用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实现气泡冒出特效,感谢阅读。
作者最新文章
js-cookie 安装与基础用法:set、get、remove 详解
2026-11-05 16:35:06
适合JavaScript初学者的实战项目:制作简易待办事项列表
2026-11-05 16:17:07
JS打开新标签页时怎么通过URL传递参数
2026-11-05 12:21:08
sigma.js 自定义节点样式:设置颜色、大小及标签显示的技巧
2026-11-05 09:55:00
JS 生成的统计图怎么导出为 PNG 图片或 PDF 文件?
2026-11-05 09:37:58
