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 面向对象全新理练之数据的封装
Dec 03 Javascript
js汉字转拼音实现代码
Feb 06 Javascript
九种js弹出对话框的方法总结
Mar 12 Javascript
jQuery查询数据返回object和字符串影响原因是什么
Aug 09 Javascript
详解AngularJS中自定义指令的使用
Jun 17 Javascript
学习JavaScript鼠标响应事件
Dec 25 Javascript
javascript事件冒泡简单示例
Jun 20 Javascript
jQuery中text() val()和html()的区别实例详解
Jun 28 Javascript
easyui form validate总是返回false的原因及解决方法
Nov 07 Javascript
用Webpack构建Vue项目的实践
Nov 07 Javascript
Vue2.0点击切换类名改变样式的方法
Aug 22 Javascript
解决vue2.0 element-ui中el-upload的before-upload方法返回false时submit()不生效问题
Aug 24 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
PHP也能干大事之PHP中的编码解码详解
2015/04/20 PHP
php二维码生成
2015/10/19 PHP
PHP使用http_build_query()构造URL字符串的方法
2016/04/02 PHP
PHP精确计算功能示例
2016/11/29 PHP
PHP判断是否是微信打开,浏览器打开的方法
2018/03/14 PHP
JavaScript自定义事件介绍
2013/08/29 Javascript
jquery及原生js获取select下拉框选中的值示例
2013/10/25 Javascript
window.onresize 多次触发的解决方法
2013/11/08 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
JavaScript分析、压缩工具JavaScript Analyser
2014/12/31 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
jQuery中removeAttr()方法用法实例
2015/01/05 Javascript
jQuery实现网页抖动的菜单抖动效果
2015/08/07 Javascript
浅析JavaScript声明变量
2015/12/21 Javascript
JavaScript中的编码和解码函数
2017/02/15 Javascript
jQuery 添加样式属性的优先级别方法(推荐)
2017/06/08 jQuery
jQuery实现新闻播报滚动及淡入淡出效果示例
2018/03/23 jQuery
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
Vue表单demo v-model双向绑定问题
2018/06/29 Javascript
[01:15:36]加油刀塔第二期网络版
2014/08/09 DOTA
Python实现的计数排序算法示例
2017/11/29 Python
解决安装tensorflow遇到无法卸载numpy 1.8.0rc1的问题
2018/06/13 Python
python实现批量视频分帧、保存视频帧
2019/05/31 Python
python自动生成model文件过程详解
2019/11/02 Python
美国花布包包品牌:Vera Bradley
2017/08/11 全球购物
瑞士设计师家具和家居饰品网上商店:Bruno Wickart
2019/03/18 全球购物
介绍一下XMLHttpRequest对象
2012/02/12 面试题
JPA的优势都有哪些
2013/07/04 面试题
生物技术研究生自荐信
2013/11/12 职场文书
师范毕业生自我鉴定
2014/01/15 职场文书
投资合作协议书
2014/04/17 职场文书
园艺师求职信
2014/04/27 职场文书
2015高三毕业寄语赠言
2015/02/27 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
2015年学校办公室工作总结
2015/05/26 职场文书
话题作文之呼唤
2019/12/18 职场文书