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

 更新时间:2020年02月06日 10:21:09   作者:空谷丶幽兰  
这篇文章主要为大家详细介绍了JavaScript实现好看的跟随彩色气泡效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

代码:

<!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的闭包

    本文介绍了javascript闭包的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • Postman内建变量常用方法实例解析

    Postman内建变量常用方法实例解析

    这篇文章主要介绍了Postman内建变量常用方法实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • 轻轻松松学JS调试(不下载任何工具)

    轻轻松松学JS调试(不下载任何工具)

    很多人可能遇到这样的问题,JS调试,而且都很郁闷,虽然我的JS学的不是那么透彻,基本上算是初级入门.
    2010-04-04
  • js将字符串中的每一个单词的首字母变为大写其余均为小写

    js将字符串中的每一个单词的首字母变为大写其余均为小写

    本文主要介绍了javascript将字符串中的每一个单词的首字母变为大写其余均为小写的方法。具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • JavaScript实现前端飞机大战小游戏

    JavaScript实现前端飞机大战小游戏

    这篇文章主要为大家详细介绍了JavaScript实现前端飞机大战小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • js实现点击向下展开的下拉菜单效果代码

    js实现点击向下展开的下拉菜单效果代码

    这篇文章主要介绍了js实现点击向下展开的下拉菜单效果代码,涉及javascript鼠标事件控制页面元素样式变换的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09
  • JS前端中WebSocket的使用方法举例

    JS前端中WebSocket的使用方法举例

    websocket是H5才开始提供的一种在单个TCP连接上进行全双工通讯的协议,下面这篇文章主要给大家介绍了关于JS前端中WebSocket使用的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 深入学习JavaScript ES8中的函数式编程

    深入学习JavaScript ES8中的函数式编程

    函数式编程已经成为现代JavaScript开发中的一种主要范式,它提供了一种更清晰、更模块化、更可维护的代码编写方式,本文将深入探讨ES8中的一些关键特性,并演示如何使用这些特性进行函数式编程实践,有需要的可以参考下
    2023-09-09
  • 常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数

    常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数

    下面小编就为大家带来一篇常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-09-09
  • JavaScript使用Promise控制并发请求

    JavaScript使用Promise控制并发请求

    当我们需要同时处理多个请求时,如何避免请求之间的冲突和混乱呢,这就是今天我们要探讨的话题——如何使用Promise控制并发请求,感兴趣的可以了解一下
    2023-06-06

最新评论