直播视频网站源码实现鼠标移动淡入淡出Canvas小球效果
直播视频网站源码实现鼠标移动淡入淡出Canvas小球效果的相关代码
html
<style> html, body { width: 100%; height: 100%; } canvas{ background: black; } </style> <canvas id="canvas"></canvas>
JS
<script> let canvas = document.getElementById('canvas') window.onresize = canvasOnresize //页面大小改变 canvans大小改变 function canvasOnresize() { canvas.width = document.getElementsByTagName('body')[0].clientWidth canvas.height = document.getElementsByTagName('body')[0].clientHeight } //初始化canvas的高度 宽度 跟随页面的大小 canvasOnresize() //生成小圆 //初始化画笔 let ctx = canvas.getContext("2d") //装Ball对象的数组 let ballList = [] //颜色数组 let colorList = ["red", "green", "yellow", "blue", "black", "#ccc"] function Ball(x, y) { this.x = x; //横轴坐标 this.y = y;//纵轴坐标 this.color = colorList[Math.floor(this.mathRandom(0, 6))];//随机生成颜色 this.xv = this.mathRandom(-5, 5);//x轴的分散速度 this.yv = this.mathRandom(-5, 5);//y轴的分散速度 this.Alpha1 = 1; //开始透明度 this.Alpha2 = 0.85; } //生成小球 Ball.prototype.update = function () { ctx.save(); ctx.beginPath() ctx.fillStyle = this.color// 背景颜色为红色 ctx.arc(this.x, this.y, 30, 0, Math.PI * 2, false) ctx.fill() ctx.closePath() } //小球移动 Ball.prototype.move = function () { this.Alpha1*= this.Alpha2 ctx.globalAlpha = this.Alpha1 ; this.x += this.xv this.y += this.yv } //随机生成 随机数 Ball.prototype.mathRandom = function (min, max) { return (max - min) * Math.random() + min } // canvas 2 鼠标移动 canvas.addEventListener('mousemove', function (e) { ballList.push(new Ball(e.clientX, e.clientY)) }) //1 触发事件 changeBall() function changeBall() { ctx.clearRect(0, 0, canvas.width, canvas.height) //循环Ball实例上方法 ballList.map((item) => { item.update() item.move() }) //按照电脑最优状态执行定动画效果 requestAnimationFrame(changeBall) } </script>
以上就是 直播视频网站源码实现鼠标移动淡入淡出Canvas小球效果的相关代码,更多内容欢迎关注之后的文章
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现