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实现仿百度帖吧头部固定导航效果
Aug 07 Javascript
点评js异步加载的4种方式
Dec 22 Javascript
基于JavaScript实现右键菜单和拖拽功能
Nov 28 Javascript
JSON与js对象序列化实例详解
Mar 16 Javascript
javascript基本数据类型和转换
Mar 17 Javascript
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
详解基于Vue-cli搭建的项目如何和后台交互
Jun 29 Javascript
对angularJs中controller控制器scope父子集作用域的实例讲解
Oct 08 Javascript
JS数组中对象去重操作示例
Jun 04 Javascript
layer插件实现在弹出层中弹出一警告提示并关闭弹出层的方法
Sep 24 Javascript
微信小程序实现手指拖动选项排序
Apr 22 Javascript
Vue使用预渲染代替SSR的方法
Jul 02 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
Windows下PHP5和Apache的安装与配置
2006/09/05 PHP
自己前几天写的无限分类类
2007/02/14 PHP
深入PHP运行环境配置的详解
2013/06/04 PHP
深入理解:XML与对象的序列化与反序列化
2013/06/08 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
2013/07/02 PHP
PHP缓存集成库phpFastCache用法
2014/12/15 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
2017/09/13 PHP
php 广告点击统计代码(php+mysql)
2018/02/21 PHP
php实现微信公众号创建自定义菜单功能的实例代码
2019/06/11 PHP
laravel5.1框架基础之Blade模板继承简单使用方法分析
2019/09/05 PHP
半角全角相互转换的js函数
2009/10/16 Javascript
javascript 用原型继承来实现对象系统
2010/03/22 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
使用JS取得焦点(focus)元素代码
2014/03/22 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
js随机生成网页背景颜色的方法
2015/02/26 Javascript
jquery实现图片左右切换的方法
2015/05/07 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
详解 javascript中offsetleft属性的用法
2015/11/11 Javascript
Angularjs使用directive自定义指令实现attribute继承的方法详解
2016/08/05 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
JS实现图片上传预览功能
2016/11/21 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
Vue 2中ref属性的使用方法及注意事项
2017/06/12 Javascript
js时间戳与日期格式之间转换详解
2017/12/11 Javascript
vue-cli或vue项目利用HBuilder打包成移动端app操作
2020/07/29 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
HTML5新增的标签和属性归纳总结
2018/05/02 HTML / CSS
Topshop美国官网:英国快速时尚品牌
2019/05/16 全球购物
前台文员的岗位职责
2013/11/14 职场文书
python随机打印成绩排名表
2021/06/23 Python
微信小程序scroll-view不能左右滑动问题的解决方法
2021/07/09 Javascript
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python