JavaScript实现代码雨

一、功能描述

使用canvas实现一个代码雨的功能,炫一个~~~

二、上码

html

html 复制代码
 <canvas id="canvas"></canvas>

js

javascript 复制代码
        let canvas = document.querySelector('canvas');
        let ctx = canvas.getContext('2d');
        // screen.availWidth:可视区域的宽度
        canvas.width = screen.availWidth;
        canvas.height = screen.availHeight;

        let str = 'zyk01010168'.split('');
        const px = 10;
        let arr = Array(Math.ceil(canvas.width / px )).fill(0)
        const rain = () => {
            //使用,0.05模糊,每次都重叠绘制。看出虚幻的效果
            ctx.fillStyle = 'rgba(0,0,0,0.05)';
            ctx.fillRect(0, 0, canvas.width, canvas.height);
            ctx.fillStyle = '#00FF00';
            arr = arr.map((ele,index) => {
                //横向间隔px的距离显示字母
                ctx.fillText(str[Math.floor(Math.random() * str.length)], index * px, ele + px);
                //修改纵向坐标
                return (ele > canvas.height || ele > 5000 * Math.random()) ? 0 : ele+ 10
            });
        }
        setInterval(rain, 40)
相关推荐
lkbhua莱克瓦2431 分钟前
JavaScript核心语法
开发语言·前端·javascript·笔记·html·ecmascript·javaweb
Trae1ounG31 分钟前
这是什么dom
前端·javascript·vue.js
比老马还六40 分钟前
Bipes项目二次开发/扩展积木功能(八)
前端·javascript
易营宝44 分钟前
全球建站SaaS平台能提升SEO评分吗?是否值得切换?
大数据·前端·人工智能
C_心欲无痕1 小时前
Next.js 的服务端路由:对应api文件夹
开发语言·javascript·ecmascript
513495921 小时前
在Vue.js项目中使用docx和file-saver实现Word文档导出
前端·vue.js·word
Shirley~~1 小时前
leetcode移除元素
javascript·数据结构·算法
AC赳赳老秦2 小时前
Prometheus + DeepSeek:自动生成巡检脚本与告警规则配置实战
前端·javascript·爬虫·搜索引擎·prometheus·easyui·deepseek
接着奏乐接着舞。2 小时前
前端大数据渲染性能优化:Web Worker + 分片处理 + 渐进式渲染
大数据·前端·性能优化
Beginner x_u2 小时前
CSS 中的高度、滚动与溢出:从 height 到 overflow 的完整理解
前端·css·overflow·min-height