广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript实现字符雨效果
  • 672
分享到

JavaScript实现字符雨效果

2024-04-02 19:04:59 672人浏览 泡泡鱼
摘要

本文实例为大家分享了javascript实现字符雨效果的具体代码,供大家参考,具体内容如下 <html>     <head>         <met

本文实例为大家分享了javascript实现字符雨效果的具体代码,供大家参考,具体内容如下

<html>
    <head>
        <meta charset="utf8"/>
        <title>字符雨</title>
        <style>
            body {
                color:white;
                background-color:black;
                overflow:hidden;
            }
        </style>
    </head>
    <body onresize="init()">
        <div>
        帧率(fps):
        <input id="fpsNum" type="number" min="1" max="35" step="2" value="24" />
        <input id="switchBtn" type="button" value="stop" onclick="switchState()" />
        </div>
        <canvas id="canvas">您的浏览器不支持canvas</canvas>
        <script>
            var c = document.getElementById("canvas");
            var fpsNum = document.getElementById("fpsNum");
            var switchBtn = document.getElementById("switchBtn");
            var ctx = c.getContext("2d");

            //动画是否已经开始
            var isStart = true;
            //循环调用器id
            var intervalId = 0;
            //每次循环绘制一个0.1透明度的蒙版,让以前绘制的文字留下一段阴影效果
            var clearColor = "rgba(0,0,0,.1)";
            //文字大小
            var fontSize = 20;
            //文字
            var font = fontSize + "px arial";
            //文字颜色
            var fontColor = "#0f0"
            //存储每列的起始坐标
            var drops = [];

            //重启程序
            function init() {
                c.width = document.body.offsetWidth;
                c.height = document.body.offsetHeight;
                //文字的列数
                var columns = Math.floor(c.width / fontSize);
                //原来的列数
                var len = drops.length;
                if(len < columns) {
                    for(var i=len; i<columns; i++) {
                        //初始化随机的列坐标
                        drops.push(Math.floor(Math.random() * c.height));
                    }
                } else {
                    drops.slice(columns, len - columns);
                }
                //如果当前已经正在绘制,则需要先终止绘制再重启绘制
                if(isStart) {
                    switchState();
                } 
                switchState();
            }

            //绘制
            function draw() {
                ctx.save();
                ctx.translate(c.width, 0);
                ctx.scale(-1, 1);
                ctx.font = font;
                ctx.fillStyle = fontColor;
                drops.map(function(currentValue, index) {
                    //接受一个或多个unicode值,然后返回一个字符串
                    var text = String.fromCharCode(65 + Math.round(Math.random() * 33));
                    //var text = Math.floor(Math.random() * 2);
                    var x = index * fontSize;
                    var y = currentValue * fontSize;
                    ctx.fillText(text, x, y);
                    if(y > c.height * 0.6 && Math.random() > 0.85) {
                        drops[index] = 0;
                    }
                    drops[index]++;
                });
                ctx.restore();

                ctx.fillStyle = clearColor;
                ctx.fillRect(0, 0, c.width, c.height);  
            }

            //切换当前状态(开始 或 停止)
            function switchState() {    
                isStart = !isStart;
                if(isStart) {
                    switchBtn.value = "stop";
                    intervalId = setInterval(draw, 1000/fpsNum.value);
                } else {
                    switchBtn.value = "start";
                    clearInterval(intervalId);
                }
            }

            init();
        </script>
    </body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: JavaScript实现字符雨效果

本文链接: https://www.lsjlt.com/news/151926.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript实现字符雨效果
    本文实例为大家分享了JavaScript实现字符雨效果的具体代码,供大家参考,具体内容如下 <html>     <head>         <met...
    99+
    2022-11-13
  • JavaScript canvas实现字符雨效果
    本文实例为大家分享了JavaScript canvas实现字符雨效果的具体代码,供大家参考,具体内容如下 字符雨效果 分析如何实现 字符雨从上往下逐渐消失: 这是canvas每次画...
    99+
    2022-11-13
  • JavaScript怎么实现字符雨效果
    今天小编给大家分享一下JavaScript怎么实现字符雨效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。具体代码如下<...
    99+
    2023-07-02
  • 怎么使用JavaScript canvas实现字符雨效果
    本文小编为大家详细介绍“怎么使用JavaScript canvas实现字符雨效果”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么使用JavaScript canvas实现字符雨效果”文章能帮助大家解决疑惑,下面跟着小...
    99+
    2023-07-02
  • javascript canvas实现雨滴效果
    本文实例为大家分享了javascript canvas实现雨滴效果的具体代码,供大家参考,具体内容如下 先看效果 看起来很炫酷,其实就是实现了雨滴的掉落还有最后的圆 还是看源码 ...
    99+
    2022-11-12
  • JavaScript实现代码雨效果
    本文实例为大家分享了JavaScript实现代码雨效果的具体代码,供大家参考,具体内容如下 <!DOCTYPE html> <html lang="en"> ...
    99+
    2022-11-12
  • Android实现字母雨的效果
    首先来看效果: 一、实现原理 在实现过程中,主要考虑整个界面由若干个字母组成的子母线条组成,这样的话把固定数量的字母封装成一个字母线条,而每个字母又封装成一个对象,这样的...
    99+
    2022-06-06
    字母 Android
  • JavaScript canvas实现代码雨效果
    本文实例为大家分享了canvas实现代码雨效果的具体代码,供大家参考,具体内容如下 先看效果图 这个效果图是不是像极了以前电影里面的黑客技术,看起来蛮难的,其实操作起来还是挺简单的...
    99+
    2022-11-12
  • JavaScript如何实现流星雨效果
    这篇文章主要介绍“JavaScript如何实现流星雨效果”,在日常操作中,相信很多人在JavaScript如何实现流星雨效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”JavaScript如何实现流星雨效果...
    99+
    2023-07-02
  • javascript中canvas如何实现雨滴效果
    这篇文章将为大家详细讲解有关javascript中canvas如何实现雨滴效果,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了javascript canvas实现雨滴效果的具体代码,供...
    99+
    2023-06-15
  • cmd命令怎么实现数字雨的效果
    这篇文章主要介绍“cmd命令怎么实现数字雨的效果”,在日常操作中,相信很多人在cmd命令怎么实现数字雨的效果问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”cmd命令怎么实现数字雨的效果”的疑惑有所帮助!接下来...
    99+
    2023-07-01
  • JavaScript实现流星雨效果的示例代码
    目录演示技术栈源码首先建立星星对象让星星闪亮起来创建流星雨对象让流星动起来演示 上一次做了一个雨滴的动画,顺着这种思维正好可以改成流星雨,嘿嘿我真是一个小机灵。 技术栈 还是先建立...
    99+
    2022-11-13
  • JavaScript中canvas实现代码雨效果的方法
    这篇文章将为大家详细讲解有关JavaScript中canvas实现代码雨效果的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。本文实例为大家分享了canvas实现代码雨效果的具体代码,供大家参考,具体内...
    99+
    2023-06-15
  • Android如何自定义View实现数字雨效果
    今天小编给大家分享一下Android如何自定义View实现数字雨效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。效果图在安...
    99+
    2023-06-29
  • 使用canvas怎么实现一个数字雨效果
    使用canvas怎么实现一个数字雨效果?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。效果图:代码:<!DOCTYPE html><h...
    99+
    2023-06-09
  • js+canvas实现代码雨效果
    本文实例为大家分享了js+canvas代码雨效果的具体代码,供大家参考,具体内容如下 代码: <!DOCTYPE html> <html> <h...
    99+
    2022-11-12
  • Android实现红包雨动画效果
    本文介绍了Android实现红包雨动画效果,分享给大家,希望对大家有帮助 红包雨 关于实现上面红包雨效果步骤如下: 1.创建一个红包实体类 public class Re...
    99+
    2022-06-06
    红包雨 动画 Android
  • C语言实现代码雨效果
    本文实例为大家分享了C语言实现代码雨效果的具体代码,供大家参考,具体内容如下 一、项目描述和最终的效果展示 项目:   让字符从上到下依次的下落,呈现出代码雨。 最终效果图...
    99+
    2022-11-13
  • CSS3怎么实现流星雨效果
    小编给大家分享一下CSS3怎么实现流星雨效果,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!说明:正文只讲述单个流星雨的实现方式,多个的效果只需要对单个的动画起始点...
    99+
    2023-06-14
  • Android自定义View实现数字雨效果的全过程
    目录效果图实现步骤总结效果图 在安卓中多种类型的动画,有帧动画、补间动画、属性动画,除此之外,使用自定义的View结合数学公式,就可以绘制出复杂的界面或者动画。这篇文章记录的是仿照黑...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作