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 相关文章推荐
javascript的函数
Jan 31 Javascript
JS支持带x身份证号码验证函数
Aug 10 Javascript
Google排名中的10个最著名的 JavaScript库
Apr 27 Javascript
新鲜出炉的js tips提示效果
Apr 03 Javascript
Jquery加载时从后台读取数据绑定到dropdownList实例
Jun 09 Javascript
AngularJS基础 ng-switch 指令简单示例
Aug 03 Javascript
js获取腾讯视频ID的方法
Oct 03 Javascript
json数据处理及数据绑定
Jan 25 Javascript
javascript Function函数理解与实战
Dec 01 Javascript
vue实现nav导航栏的方法
Dec 13 Javascript
JavaScript实现栈结构Stack过程详解
Mar 07 Javascript
基于VSCode调试网页JavaScript代码过程详解
Jul 20 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
PHP动态图像的创建
2006/10/09 PHP
Joomla下利用configuration.php存储简单数据
2010/05/19 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
PHP实现求解最长公共子串问题的方法
2017/11/17 PHP
Laravel框架之解决前端显示图片问题
2019/10/24 PHP
ExtJS Ext.MessageBox.alert()弹出对话框详解
2010/04/02 Javascript
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JQuery扩展插件Validate 5添加自定义验证方法
2011/09/05 Javascript
javascript随机将第一个dom中的图片添加到第二个div中示例
2013/10/08 Javascript
通过伪协议解决父页面与iframe页面通信的问题
2015/04/05 Javascript
jQuery通过Ajax返回JSON数据
2015/04/28 Javascript
jQuery多条件筛选如何实现
2015/11/04 Javascript
Bootstrap3 input输入框插入glyphicon图标的方法
2016/05/16 Javascript
jQuery Ajax使用FormData对象上传文件的方法
2016/09/07 Javascript
JavaScript易错知识点整理
2016/12/05 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
详解Vue3.0 前的 TypeScript 最佳入门实践
2019/06/18 Javascript
基于layui的table插件进行复选框联动功能的实现方法
2019/09/19 Javascript
jQuery实现消息弹出框效果
2019/12/10 jQuery
Python通过DOM和SAX方式解析XML的应用实例分享
2015/11/16 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
2017/04/15 Python
Python numpy生成矩阵、串联矩阵代码分享
2017/12/04 Python
Python排序算法之选择排序定义与用法示例
2018/04/29 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
详解PyTorch中Tensor的高阶操作
2019/08/18 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
PyCharm Ctrl+Shift+F 失灵的简单有效解决操作
2021/01/15 Python
Canvas实现放大镜效果完整案例分析(附代码)
2020/11/26 HTML / CSS
理肤泉加拿大官网:La Roche-Posay加拿大
2018/07/06 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
大学生毕业自我评价范文分享
2013/11/07 职场文书
初中毕业生的自我评价
2014/03/03 职场文书
教师学习群众路线心得体会
2014/11/04 职场文书
爱国主义影片观后感
2015/06/18 职场文书
Nginx服务器添加Systemd自定义服务过程解析
2021/03/31 Servers