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 相关文章推荐
在一个js文件里远程调用jquery.js会在ie8下的一个奇怪问题
Nov 28 Javascript
javascript学习笔记(十三) js闭包介绍(转)
Jun 20 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
Jul 23 Javascript
解析Jquery取得iframe中元素的几种方法
Jul 04 Javascript
Javascript Objects详解
Sep 04 Javascript
javascript图片延迟加载实现方法及思路
Dec 31 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
Javascript中八种遍历方法的执行速度深度对比
Apr 25 Javascript
js事件委托和事件代理案例分享
Jul 25 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
layui复选框限制选择个数的方法
Sep 18 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
ThinkPHP的Widget扩展实例
2014/06/19 PHP
浅谈php正则表达式中的非贪婪模式匹配的使用
2014/11/25 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
2017/08/07 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
onmouseover和onmouseout的一些问题思考
2013/08/14 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
老生常谈JQuery data方法的使用
2016/09/09 Javascript
js 颜色选择插件
2017/01/23 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
微信小程序如何获取手机验证码
2018/11/04 Javascript
解决LayUI加上form.render()下拉框和单选以及复选框不出来的问题
2019/09/27 Javascript
JavaScript canvas基于数组生成柱状图代码实例
2020/03/06 Javascript
[03:56]DOTA2完美大师赛趣味视频之小鸽子和Mineski打台球
2017/11/24 DOTA
[52:27]2018DOTA2亚洲邀请赛 3.31 小组赛B组 paiN vs Secret
2018/04/01 DOTA
[31:55]完美世界DOTA2联赛循环赛 IO vs GXR BO2第一场 11.04
2020/11/05 DOTA
Python实现字符串格式化输出的方法详解
2017/09/20 Python
vscode 远程调试python的方法
2017/12/01 Python
django 在原有表格添加或删除字段的实例
2018/05/27 Python
用Python将一个列表分割成小列表的实例讲解
2018/07/02 Python
Django重置migrations文件的方法步骤
2019/05/01 Python
PyQt5实现让QScrollArea支持鼠标拖动的操作方法
2019/06/19 Python
python 实现多线程下载m3u8格式视频并使用fmmpeg合并
2019/11/15 Python
Python reversed反转序列并生成可迭代对象
2020/10/22 Python
美国女鞋品牌:naturalizer(娜然)
2016/08/01 全球购物
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
JDBC操作数据库的基本流程是什么
2014/10/28 面试题
《颐和园》教学反思
2014/02/26 职场文书
2014年入党积极分子党课学习心得体会模板
2014/04/03 职场文书
妇联领导班子剖析材料
2014/08/21 职场文书
工程服务质量承诺书
2015/04/29 职场文书
MySQL之PXC集群搭建的方法步骤
2021/05/25 MySQL
向Spring IOC 容器动态注册bean实现方式
2022/07/15 Java/Android