• 技术文章 >web前端 >js教程

    JS实现好看的鼠标跟随彩色气泡效果(附代码)

    青灯夜游青灯夜游2020-06-16 10:26:33转载707
    下面本篇文章给大家介绍一下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>

    更多jQuery、Javascript特效,推荐访问:js特效大全

    以上就是JS实现好看的鼠标跟随彩色气泡效果(附代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:脚本之家,如有侵犯,请联系admin@php.cn删除
    专题推荐:JS
    上一篇:为了性能选择for循环遍历吗? 下一篇:JavaScript如何实现“全选”和"全不选"功能?(代码示例)
    线上培训班

    相关文章推荐

    • 浅谈写出优雅耐看 JS代码 的方法• 分享5种JS字符串转数字的方法• 详解使用Minify压缩css和js文件• 了解JS滚轮事件(mousewheel/DOMMouseScroll)

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网