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实现生成GUID(全局统一标识符)
Sep 05 Javascript
avalonjs实现仿微博的图片拖动特效
May 06 Javascript
jQuery插件制作之参数用法实例分析
Jun 01 Javascript
详解WordPress开发中get_current_screen()函数的使用
Jan 11 Javascript
JS中数组重排序方法
Nov 11 Javascript
javascript实现简单的可随机变色网页计算器示例
Dec 30 Javascript
详解Node项目部署到云服务器上
Jul 12 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
Sep 10 Javascript
基于vue2实现上拉加载功能
Nov 28 Javascript
深入了解js原型模式
May 30 Javascript
sortable+element 实现表格行拖拽的方法示例
Jun 07 Javascript
VUE 自定义组件模板的方法详解
Aug 30 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打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
PHP中的多种加密技术及代码示例解析
2016/10/20 PHP
PHP+MYSQL实现读写分离简单实战
2017/03/13 PHP
Yii实现复选框批量操作实例代码
2017/03/15 PHP
TP5多入口设置实例讲解
2020/12/15 PHP
js宝典学习笔记(上)
2007/01/10 Javascript
jquery获取input表单值的代码
2010/04/19 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
微信小程序入门教程
2016/11/18 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
Vuex和前端缓存的整合策略详解
2017/05/09 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
JavaScript反射与依赖注入实例详解
2018/05/29 Javascript
JS正则表达式常见用法实例详解
2018/06/19 Javascript
angularJs复选框checkbox选中进行ng-show显示隐藏的方法
2018/10/08 Javascript
python打开网页和暂停实例
2014/09/30 Python
Python解析json文件相关知识学习
2016/03/01 Python
Python中使用插入排序算法的简单分析与代码示例
2016/05/04 Python
numpy中的delete删除数组整行和整列的实例
2018/05/09 Python
python3实现在二叉树中找出和为某一值的所有路径(推荐)
2019/12/26 Python
PyTorch中torch.tensor与torch.Tensor的区别详解
2020/05/18 Python
Flask缓存静态文件的具体方法
2020/08/02 Python
python使用建议与技巧分享(一)
2020/08/17 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
VSCODE配置Markdown及Markdown基础语法详解
2021/01/19 Python
numba提升python运行速度的实例方法
2021/01/25 Python
numpy实现RNN原理实现
2021/03/02 Python
需要知道的CSS3动画技术
2010/01/01 HTML / CSS
Canvas 像素处理之改变透明度的实现代码
2019/01/08 HTML / CSS
木马的传播途径主要有哪些
2016/04/08 面试题
五水共治一句话承诺
2014/05/30 职场文书
个人授权委托书范本
2014/09/14 职场文书
第二批党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
护士年终考核评语
2014/12/31 职场文书
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
2021/04/13 Python