html+css+js仿黑客帝国代码雨

点赞❤️+关注😍+收藏⭐️ 互粉必回🙏🙏🙏

图示(只截取了一部分)代码在图片后面

3d5dc71f7202486fb65af3ba6a76d25c.jpg

 源代码

<!doctype html>

<html>

    <head>

        <meta charset="gbk-2312" />

        <title>代码雨</title>

        <meta name="keywords" content="关键词,关键字">

        <meta name="description" content="描述信息">

        <style>

            body {

                margin: 0;

                overflow: hidden;

            }

        </style>

        

    </head>

    

 

    <body>

 

        <!--

            <canvas>画布 画板 画画的本子

        -->

        <canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>

 

        <!--

            javascript

            画笔

        --> 

        <script>

                    

            //获取画板

            //doccument 当前文档

            //getElement 获取一个标签

            //ById 通过Id名称的方式

            //var 声明一片空间

            //var canvas 声明一片空间的名字叫做canvas

            var canvas = document.getElementById("canvas");

            //获取画板权限 上下文

            var ctx = canvas.getContext("2d");

            //让画板的大小等于屏幕的大小

            //获取屏幕对象

            var s = window.screen;

            //获取屏幕的宽度和高度

            var w = s.width;

            var h = s.height;

            //设置画板的大小

            canvas.width = w;

            canvas.height = h;

            //设置文字大小 

            var fontSize = 14;

            //计算一行有多少个文字 取整数 向下取整

            var clos = Math.floor(w/fontSize);

            //思考每一个字的坐标

            //创建数组把clos 个 0 (y坐标存储起来)

            var drops = [];

            var str = "qwertyuiopasdfghjklzxcvbnm1234567890!@#¥%……&*()-=+";

            //往数组里面添加 clos 个 0

            for(var i = 0;i<clos;i++) {

                drops.push(0);

            }

 

            //绘制文字

            function drawString() {

                //给矩形设置填充色

                ctx.fillStyle="rgba(0,0,0,0.05)"

                //绘制一个矩形

                ctx.fillRect(0,0,w,h);

 

                //添加文字样式

                ctx.font = "600 "+fontSize+"px 微软雅黑";

                //设置文字颜色

                ctx.fillStyle = "#00ff00";

 

                for(var i = 0;i<clos;i++) {

                    //x坐标

                    var x = i*fontSize;

                    //y坐标

                    var y = drops[i]*fontSize;

                    //设置绘制文字

                    ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);

                    if(y>h&&Math.random()>0.99){

                        drops[i] = 0;

                    }

                    drops[i]++;

                }

                    

            }

            

            function toggleFullScreen() {

                if (!document.fullscreenElement && // alternative standard method

                    !document.mozFullScreenElement && !document.webkitFullscreenElement) {// current working methods

                    if (document.documentElement.requestFullscreen) {

                        document.documentElement.requestFullscreen();

                    } else if (document.documentElement.mozRequestFullScreen) {

                        document.documentElement.mozRequestFullScreen();

                    } else if (document.documentElement.webkitRequestFullscreen) {

                        document.documentElement.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT);

                    }

                } else {

                    if (document.cancelFullScreen) {

                        document.cancelFullScreen();

                    } else if (document.mozCancelFullScreen) {

                        document.mozCancelFullScreen();

                    } else if (document.webkitCancelFullScreen) {

                        document.webkitCancelFullScreen();

                    }

                }

            }

            

            //定义一个定时器,每隔30毫秒执行一次

            setInterval(drawString,30);

        </script>

        

    </body>

</html>

相关推荐

  1. 黑客帝国》让你穿越虚拟世界

    2024-07-11 10:40:05       32 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-11 10:40:05       7 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-11 10:40:05       8 阅读
  3. 在Django里面运行非项目文件

    2024-07-11 10:40:05       7 阅读
  4. Python语言-面向对象

    2024-07-11 10:40:05       10 阅读

热门阅读

  1. 人工智能在自动驾驶中的目标检测研究

    2024-07-11 10:40:05       9 阅读
  2. 编程语言 Public:深度解析与未来展望

    2024-07-11 10:40:05       9 阅读
  3. 【SQL】InnoDB中的行锁

    2024-07-11 10:40:05       9 阅读
  4. 编程什么好用:深入剖析编程工具的选择与运用

    2024-07-11 10:40:05       10 阅读
  5. C++引用和指针的区别

    2024-07-11 10:40:05       9 阅读
  6. 3.数组基础

    2024-07-11 10:40:05       10 阅读
  7. Docker 日志丢失 - 解决方案

    2024-07-11 10:40:05       9 阅读
  8. 3D Web开发新篇章:threelab探索之旅

    2024-07-11 10:40:05       9 阅读
  9. 外科休克病人的护理

    2024-07-11 10:40:05       9 阅读