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 相关文章推荐
工作中常用到的JS表单验证代码(包括例子)
Nov 11 Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 Javascript
IE6、IE7中获取Button元素的值的bug说明
Aug 28 Javascript
用js写了一个类似php的print_r输出换行功能
Feb 18 Javascript
CSS图片响应式 垂直水平居中
Aug 14 Javascript
AngularJS实现Input格式化的方法
Nov 07 Javascript
JS实现购物车特效
Feb 02 Javascript
利用Vue.js框架实现火车票查询系统(附源码)
Feb 27 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
结合mint-ui移动端下拉加载实践方法总结
Nov 08 Javascript
搭建基于express框架运行环境的方法步骤
Nov 15 Javascript
k8s node节点重新加入master集群的实现
Feb 22 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 字符串 小常识
2009/06/05 PHP
使用PHP破解防盗链图片的一个简单方法
2014/06/07 PHP
thinkPHP自动验证机制详解
2016/12/05 PHP
PHP实现对文件锁进行加锁、解锁操作的方法
2017/07/04 PHP
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
2012/02/03 Javascript
jQuery中.live()方法的用法深入解析
2013/12/30 Javascript
jQuery自定义事件的简单实现代码
2014/01/27 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
2014/03/21 Javascript
JavaScript实现单击下拉框选择直接跳转页面的方法
2015/07/02 Javascript
JS实现随页面滚动显示/隐藏窗口固定位置元素
2016/02/26 Javascript
jQuery日期范围选择器附源码下载
2017/05/23 jQuery
JavaScript ES6常用基础知识总结
2019/02/09 Javascript
仿iPhone通讯录制作小程序自定义选择组件的实现
2019/05/23 Javascript
layui 数据表格复选框实现单选功能的例子
2019/09/19 Javascript
使用Vue实现调用接口加载页面初始数据
2019/10/28 Javascript
vue实现在进行增删改操作后刷新页面
2020/08/05 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
vue实现简单加法计算器
2020/10/22 Javascript
vue导入.md文件的步骤(markdown转HTML)
2020/12/31 Vue.js
详解Python中with语句的用法
2015/04/15 Python
使用PyCharm配合部署Python的Django框架的配置纪实
2015/11/19 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Django web框架使用url path name详解
2019/04/29 Python
python SocketServer源码深入解读
2019/09/17 Python
windows10环境下用anaconda和VScode配置的图文教程
2020/03/30 Python
浅谈python 类方法/静态方法
2020/09/18 Python
Python猫眼电影最近上映的电影票房信息
2020/09/18 Python
Python 调用C++封装的进一步探索交流
2021/03/04 Python
戴尔英国官网:Dell英国
2017/05/27 全球购物
大学生自荐书范文
2013/12/10 职场文书
测控技术与通信工程毕业生自荐信范文
2013/12/28 职场文书
电子商务专业求职信
2014/07/10 职场文书
Python利用capstone实现反汇编
2022/04/06 Python
golang使用map实现去除重复数组
2022/04/14 Golang