• theMatrix代码雨效果


    做了一个代码雨效果放在个人主页:  https://lanleilin.github.io/lanGallery/index.html

    代码:

    <!DOCTYPE html>
    <html>
    
        <head>
            <title>The Matrix</title>
            <script type="text/javascript" src="../js/jquery.min.js">
            </script>
            <meta charset="utf-8">
            <script>
                $(document).ready(function() {
                    //判断移动端还是PC端
                    function isPC() {
                        var userAgentInfo = navigator.userAgent;
                        var Agents = ["Android", "iPhone", "SymbianOS", "Windows Phone", "iPad", "iPod"];
                        var flag = true;
                        for(var v = 0; v < Agents.length; v++) {
                            if(userAgentInfo.indexOf(Agents[v]) > 0) {
                                flag = false;
                                break;
                            }
                        }
                        return flag;
                    }
    
                    if(!isPC()) {
                        // 手机
                        var s = window.screen;
                        console.log(s);
                        var width = s.width * 2.5;
                        q.width = s.width * 2.5;
                        q.Height = 300;
                        var height = q.height;
                        var yPositions = Array(300).join(0).split('');
                        var ctx = q.getContext('2d');
                        var draw = function() {
                            ctx.fillStyle = 'rgba(0,0,0,.05)'; //反复生成opacity为0.5的半透明黑色背景
                            ctx.fillRect(0, 0, width, height);
                            ctx.fillStyle = 'lightgreen';
                            ctx.font = '3rem Georgia';
                            yPositions.map(function(y, index) {
                                text = String.fromCharCode(1e2 + Math.random() * 33); //随机生成字母
                                x = (index * 30) + 10; //x距离
                                q.getContext('2d').fillText(text, x, y); //在指定位置显示一个字母
                                if(y > Math.random() * 1e4) {
                                    yPositions[index] = 0;
                                } else {
                                    yPositions[index] = y + 20; //确定显示字母的位置
                                }
                            });
                        };
                        RunMatrix();
    
                        function RunMatrix() {
                            Game_Interval = setInterval(draw, 50); //设定刷新间隔
                        }
                    } else {
                        var s = window.screen;
                        //      var q=$('#q');
                        console.log(typeof($("#q")));
                        console.log(document.getElementById("q"));
    
                        var width = q.width = s.width;
                        var height = q.height;
                        var yPositions = Array(300).join(0).split('');
                        var ctx = q.getContext('2d');
                        var draw = function() {
                            ctx.fillStyle = 'rgba(0,0,0,.05)';
                            ctx.fillRect(0, 0, width, height);
                            ctx.fillStyle = 'red';
                            ctx.font = '10pt Georgia';
                            yPositions.map(function(y, index) {
                                text = String.fromCharCode(1e2 + Math.random() * 33);
                                x = (index * 10) + 10; //x距离
                                q.getContext('2d').fillText(text, x, y);
                                if(y > Math.random() * 1e4) {
                                    yPositions[index] = 0;
                                } else {
                                    yPositions[index] = y + 10;
                                }
                            });
                        };
                        RunMatrix();
    
                        function RunMatrix() {
                            Game_Interval = setInterval(draw, 50);
                        }
                    }
                    isPC();
                });
            </script>
        </head>
    
        <body>
            <div align="center">
                <h1 id="theMatrix">The matrix</h1>
                <canvas id="q" width="500" height="500"></canvas>
            </div>
        </body>
    
    </html>
  • 相关阅读:
    THINKPHP_(4)_TP模型中with、withJoin和多层关联的深入分析
    THINKPHP_(3)_TP6中实现多层关联,第一个表关联第二个表查询出的数据,再关联第三个表
    THINKPHP_(2)_TP模型的多表关联查询和多表字段的关键字搜索。
    THINKPHP_(1)_修改TP源码,支持对中文字符串按拼音进行排序。
    automapper 源中有多个属性类映射到同一个 目标中
    关于简单的 FluentValidation 验证
    关于SkyApm测试部署。
    linq2db.EntityFrameworkCore 介绍
    关于在CentOS上,绘图丢失部分中文字的问题
    NHibernate入门
  • 原文地址:https://www.cnblogs.com/rlann/p/7285050.html
Copyright © 2020-2023  润新知