前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >javascript实现很浪漫的气泡冒出特效

javascript实现很浪漫的气泡冒出特效

作者头像
qiangzai
发布2021-12-21 08:25:34
9080
发布2021-12-21 08:25:34
举报
文章被收录于专栏:强仔博客

javascript实现很浪漫的气泡冒出特效代码,在博客中添加浪漫元素,这不失为一种好的方式,希望大家灵活运用,分享给大家供大家参考,具体如下

测试效果

代码语言:javascript
复制
<canvas id="canvas" width="1080" height ="2337"></canvas>

实现思路

HTML里只需要一个CANVAS元素,Javascript里操作canvas

  1. 给canvas里绘制背景图片
  2. 在绘制半径为0-10px的圆形,x坐标屏幕水平随机,y所标竖直大于屏幕高度。

  圆形背景色可以是随机,那就是各种色彩了!   利用计时器控制y--

实现操作

  1. 自建html单页,测试用,并准备一张图片,在主体中引入
代码语言:javascript
复制
<canvas id="canvas"></canvas>
  1. 加入js核心代码
代码语言: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="图片地址";
 var timer="";
 setInterval(function(){
 context.drawImage(myimg,0,0);
 timer++;
 if(timer%20==0){
  createCircles();
 }
 paintCircles();
 stepCircles();
 },10);
</script>
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-141,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 测试效果
  • 实现思路
  • 实现操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档