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


Posted in Javascript onSeptember 05, 2020

本文实例讲述了javascript实现很浪漫的气泡冒出特效代码,分享给大家供大家参考,具体如下:

运行效果截图如下:

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

具体代码如下:

实现思路:HTML里只需要一个CANVAS元素,Javascript里操作canvas

1、给canvas里绘制背景图片
2、在绘制半径为0-10px的圆形,x坐标屏幕水平随机,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>

js代码

<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实现气泡冒出特效,谢谢大家的阅读。

Javascript 相关文章推荐
javascript引导程序
Oct 26 Javascript
Jsonp 跨域的原理以及Jquery的解决方案
May 18 Javascript
用JSON做数据传输格式中的一些问题总结
Dec 21 Javascript
JS页面延迟执行一些方法(整理)
Nov 11 Javascript
javascript中in运算符用法分析
Apr 28 Javascript
浅谈javascript中return语句
Jul 15 Javascript
js识别uc浏览器的代码
Nov 06 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
js仿QQ邮箱收件人选择与搜索功能
Feb 10 Javascript
Input文本框随着输入内容多少自动延伸的实现
Feb 15 Javascript
Angular.js中数组操作的方法教程
Jul 31 Javascript
vuex(vue状态管理)的特殊应用案例分享
Mar 03 Javascript
jQuery插件jquery-barcode实现条码打印的方法
Nov 25 #Javascript
JavaScript编写简单的计算器
Nov 25 #Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
Nov 25 #Javascript
jQuery插件formValidator自定义函数扩展功能实例详解
Nov 25 #Javascript
jQuery实现鼠标双击Table单元格变成文本框及输入内容后更新到数据库的方法
Nov 25 #Javascript
基于jQuery实现响应式圆形图片轮播特效
Nov 25 #Javascript
jquery+css实现动感的图片切换效果
Nov 25 #Javascript
You might like
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php中文验证码实现示例分享
2014/01/12 PHP
php实现mysql备份恢复分卷处理的方法
2014/12/26 PHP
php使用SAE原生Mail类实现各种类型邮件发送的方法
2016/10/10 PHP
PHP多线程模拟实现秒杀抢单
2018/02/07 PHP
php在windows环境下获得cpu内存实时使用率(推荐)
2018/02/08 PHP
defer属性导致引用JQuery的页面报“浏览器无法打开网站xxx,操作被中止”错误的解决方法
2010/04/27 Javascript
让textarea自动调整大小的js代码
2011/04/12 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
写得不错的jquery table鼠标经过变色代码
2013/09/27 Javascript
javascript教程:关于if简写语句优化的方法
2014/05/17 Javascript
JQuery中DOM实现事件移除的方法
2015/06/13 Javascript
直接拿来用的15个jQuery代码片段
2015/09/23 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
js获取Get值的方法
2016/09/29 Javascript
js以及jquery实现手风琴效果
2020/04/17 Javascript
深入理解Angular中的依赖注入
2017/06/26 Javascript
基于jquery实现多选下拉列表
2017/08/02 jQuery
vue用addRoutes实现动态路由的示例
2017/09/15 Javascript
VUE页面中加载外部HTML的示例代码
2017/09/20 Javascript
微信小程序实现之手势锁功能实例代码
2018/07/19 Javascript
基于vue中对鼠标划过事件的处理方式详解
2018/08/22 Javascript
JS数组去重的6种方法完整实例
2018/12/08 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[38:32]完美世界DOTA2联赛循环赛 Forest vs DM 第二场 11.06
2020/11/06 DOTA
解决python测试opencv时imread导致的错误问题
2019/01/26 Python
详解Pandas之容易让人混淆的行选择和列选择
2019/07/10 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
python爬取2021猫眼票房字体加密实例
2021/02/19 Python
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
监理资料员岗位职责
2014/01/03 职场文书
感恩教师节演讲稿
2014/09/03 职场文书
“四风”问题对照检查材料思想汇报
2014/09/16 职场文书
如何用Node.js编写内存效率高的应用程序
2021/04/30 Javascript
一文搞懂php的垃圾回收机制
2021/06/18 PHP