JavaScript实现好看的跟随彩色气泡效果


Posted in Javascript onFebruary 06, 2020

本文实例为大家分享了js实现跟随彩色气泡的具体代码,供大家参考,具体内容如下

JavaScript实现好看的跟随彩色气泡效果

代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>

<style>
 *{
 margin:0;padding:0;
 }
 body{overflow:hidden;}
 #canvas{
 background-color:black;
 /*width:100%;
 height:100vh;*/
 }
 
</style>

</head>
<body>

<canvas id="canvas" ></canvas> 
 
</body>

<script>
var canvas = document.querySelector('#canvas');
var ctx = canvas.getContext("2d");
var starlist = [];
function init(){
 canvas.width = window.innerWidth;
 canvas.height = window.innerHeight;
}
init();
window.onresize = init;

canvas.addEventListener('mousemove',function(e){
 starlist.push(new Star(e.offsetX,e.offsetY));
 console.log(starlist)
})

function random(min,max){
 return Math.floor((max-min)*Math.random()+ min);
}

function Star(x,y){
 this.x = x;
 this.y = y;
 this.vx = (Math.random()-0.5)*3;
 this.vy = (Math.random()-0.5)*3;
 this.color = 'rgb('+random(0,256)+','+random(0,256)+','+random(0,256)+')';
 this.a = 1;
 console.log(this.color);
 this.draw();
}
Star.prototype={
 draw:function(){
 ctx.beginPath();
 ctx.fillStyle = this.color;
 ctx.globalCompositeOperation='lighter'
 ctx.globalAlpha= this.a;
 ctx.arc(this.x,this.y,30,0,Math.PI*2,false);
 ctx.fill();
 this.updata();
 },
 updata(){
 this.x+=this.vx;
 this.y+=this.vy;
 this.a*=0.98;
 }
}
console.log(new Star(150,200));
function render(){
 ctx.clearRect(0,0,canvas.width,canvas.height)
 
 starlist.forEach((item,i)=>{
 item.draw();
 if(item.a<0.05){
 starlist.splice(i,1);
 }
 })
 
 requestAnimationFrame(render);
}
render(); 

</script>
<div style="text-align:center;">
</div>

</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
Oct 16 Javascript
jQuery图片播放8款精美插件分享
Feb 17 Javascript
js判读浏览器是否支持html5的canvas的代码
Nov 18 Javascript
jQuery中$.get、$.post、$.getJSON和$.ajax的用法详解
Nov 19 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
Oct 27 Javascript
vue 计时器组件的实现代码
Sep 14 Javascript
利用10行js代码实现上下滚动公告效果
Dec 08 Javascript
JS+canvas画一个圆锥实例代码
Dec 13 Javascript
给localStorage设置一个过期时间的方法分享
Nov 06 Javascript
node.js实现为PDF添加水印的示例代码
Dec 05 Javascript
Vue数据绑定实例写法
Aug 06 Javascript
js实现日历
Nov 07 Javascript
详细介绍解决vue和jsp结合的方法
Feb 06 #Javascript
如何在vue项目中嵌入jsp页面的方法(2种)
Feb 06 #Javascript
js get和post请求实现代码解析
Feb 06 #Javascript
Windows下安装 node 的版本控制工具 nvm
Feb 06 #Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 #Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 #Javascript
node.js开发辅助工具nodemon安装与配置详解
Feb 06 #Javascript
You might like
松下Panasonic RF-B65电路分析
2021/03/02 无线电
PHP的FTP学习(一)
2006/10/09 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
php插件Xajax使用方法详解
2017/08/31 PHP
php ActiveMQ的安装与使用方法图文教程
2020/02/23 PHP
新浪刚打开页面出来的全屏广告代码
2007/04/02 Javascript
Autocomplete Textbox Example javascript实现自动完成成功
2007/08/17 Javascript
Jquery中getJSON在asp.net中的使用说明
2011/03/10 Javascript
js实现绿白相间竖向网页百叶窗动画切换效果
2015/03/02 Javascript
javascript显式类型转换实例分析
2015/04/25 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
jQuery简单实现遍历单选框的方法
2017/03/06 Javascript
vue element-ui 绑定@keyup事件无效的解决方法
2018/03/09 Javascript
Vue父子组件之间的通信实例详解
2018/09/28 Javascript
nodejs中方法和模块用法示例
2018/12/24 NodeJs
微信小程序自定义navigationBar顶部导航栏适配所有机型(附完整案例)
2020/04/26 Javascript
vue 添加和编辑用同一个表单,el-form表单提交后清空表单数据操作
2020/08/03 Javascript
Python lxml模块安装教程
2015/06/02 Python
浅谈Python的文件类型
2016/05/30 Python
详解python开发环境搭建
2016/12/16 Python
Python win32com 操作Exce的l简单方法(必看)
2017/05/25 Python
python 输出上个月的月末日期实例
2018/04/11 Python
python获取命令行输入参数列表的实例代码
2018/06/23 Python
python使用百度文字识别功能方法详解
2019/07/23 Python
Window10上Tensorflow的安装(CPU和GPU版本)
2020/12/15 Python
python包的导入方式总结
2021/03/02 Python
HTML5 Canvas 起步(1) - 基本概念
2009/05/12 HTML / CSS
美国排名第一的泳池用品直接来源:In The Swim
2019/09/23 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
青年文明号复核材料
2014/02/11 职场文书
办公室综合文员岗位职责范本
2014/02/13 职场文书
工地安全标语
2014/06/07 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
2015年学校德育工作总结
2015/04/22 职场文书
2016年学校“3.12”植树节活动总结
2016/03/16 职场文书
《天净沙·秋思》教学反思三篇
2019/11/02 职场文书