使⽤css和js实现⿏标拖尾特效(七彩泡泡)(此⽂章是转载,由于急于使⽤忘记作者链接。作者看到后可提供出处。)
⼀ css样式
<style>
*{
margin:0;padding:0;
}
body{overflow:hidden;}
#canvas{
background-color:black;
}
</style>
⼆ html⾥添加canvas:
<canvas id="canvas" ></canvas>
三 js:
<script>
var canvas = document.querySelector('#canvas');
var ctx = Context("2d");
var starlist =[];
function init(){
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
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)*2.5;
this.vy =(Math.random()-0.5)*2.5;
console.lor);
this.draw();
}
Star.prototype={
draw:function(){
ctx.beginPath();
ctx.fillStyle =lor;
ctx.globalCompositeOperation='lighter'
ctx.globalAlpha=this.a;
ctx.arc(this.x,this.y,30,0,Math.PI*2,false);
ctx.fill();
this.updata();
},
updata(){
css鼠标点击样式this.x+=this.vx;
this.y+=this.vy;
this.a*=.98;
}
}
console.log(new Star(10,20));
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>
四 实现效果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论