JavaScript canvas仿代码流瀑布


Posted in Javascript onFebruary 10, 2020

本文实例为大家分享了canvas仿代码流瀑布的具体代码,供大家参考,具体内容如下

JavaScript canvas仿代码流瀑布

在js部分写canvas代码,有详细注释

html部分:

一个canvas元素:

<canvas id="canvas" ></canvas>

css部分:

<style>
  *{
   padding: 0;
   margin: 0;
  }
  canvas{
   background-color: #111;
  }
  body{
   overflow: hidden;
  
  }
</style>
<script>
  var canvas = document.getElementById('canvas');
  var context = canvas.getContext('2d');
  // 获取浏览器的宽度和高度
  var w = window.innerWidth;
  var h = window.innerHeight;
  // 设置canvas的宽高
  canvas.width = w;
  canvas.height = h;
  // 每个文字的大小
  var fontSize = 16;
  // 一共可以有多少列文字
  var col = Math.floor(w / fontSize);
  // 记录每列文字的y轴坐标
  var cpy = [];
  for(var i = 0;i< col; i++)
  {
   cpy[i] = 1;
  }
  //定义文字
  var str = "Javascriphafhsdhfsfsf{}";
  // 绘制
  draw();
  setInterval(draw,30);
  function draw(){
   context.beginPath();
   // 背景填充颜色
   context.fillStyle = "rgba(0,0,0,0.05)";
   context.fillRect(0,0,w,h);
   // 设置字体大小
   context.font = fontSize +"px bold 微软雅黑 ";
   // 设置字体颜色
   context.fillStyle = "#00cc33";
   for(var i = 0; i < col;i++)
   {
    var index = Math.floor(Math.random()*str.length);
    var x = i*fontSize;
    var y = cpy[i]*fontSize;
    context.fillText(str.charAt(index),x,y);
    if(y >= h && Math.random()> 0.99)// 出现时间延迟的效果
    {
     cpy[i]=0;// 只要Math.random> 0.99 时才纵坐标从0开始写字
    }
    cpy[i]++;// 数组值加一,以便下一次写的字在下面一行
   }
  }
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery之浮动窗口实现代码(两种方法)
Sep 08 Javascript
jQuery源码分析-01总体架构分析
Nov 14 Javascript
jQuery使用数组编写图片无缝向左滚动
Dec 11 Javascript
JS 修改URL参数(实现代码)
Jul 08 Javascript
JS简单编号生成器实现方法(附demo源码下载)
Apr 05 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
浅析JavaScript函数的调用模式
Aug 10 Javascript
使用原生的javascript来实现轮播图
Feb 24 Javascript
微信小程序实现MUI数字输入框效果
Jan 31 Javascript
快速解决处理后台返回json数据格式的问题
Aug 07 Javascript
vuex存值与取值的实例
Nov 06 Javascript
js实现列表向上无限滚动
Jan 13 Javascript
Vue数字输入框组件使用方法详解
Feb 10 #Javascript
JavaScript canvas实现跟随鼠标事件
Feb 10 #Javascript
JavaScript实现简易聊天对话框(加滚动条)
Feb 10 #Javascript
node.js使用 http-proxy 创建代理服务器操作示例
Feb 10 #Javascript
node.js中 redis 的安装和基本操作示例
Feb 10 #Javascript
js实现登录拖拽窗口
Feb 10 #Javascript
javascript 原型与原型链的理解及应用实例分析
Feb 10 #Javascript
You might like
xml在joomla表单中的应用详解分享
2012/07/19 PHP
php实现以只读方式打开文件的方法
2015/03/16 PHP
PHP处理数组和XML之间的互相转换
2016/06/02 PHP
用jQuery打造TabPanel效果代码
2010/05/22 Javascript
基于javascript 闭包基础分享
2013/07/10 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
nodejs npm包管理的配置方法及常用命令介绍
2014/06/05 NodeJs
node.js中的buffer.toString方法使用说明
2014/12/14 Javascript
深入浅出理解javaScript原型链
2015/05/09 Javascript
优化RequireJS项目的相关技巧总结
2015/07/01 Javascript
JS实现IE状态栏文字缩放效果代码
2015/10/24 Javascript
Bootstrap 布局组件(全)
2016/07/18 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
vue分页组件table-pagebar使用实例解析
2020/11/15 Javascript
AngularJS  自定义指令详解及实例代码
2016/09/14 Javascript
基于jQuery实现歌词滚动版音乐播放器的代码
2016/09/17 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
利用Python实现颜色色值转换的小工具
2016/10/27 Python
Python如何import文件夹下的文件(实现方法)
2017/01/24 Python
利用Python写一个爬妹子的爬虫
2018/06/08 Python
详解Python进阶之切片的误区与高级用法
2018/12/24 Python
Python3.x+迅雷x 自动下载高分电影的实现方法
2020/01/12 Python
Python编程快速上手——正则表达式查找功能案例分析
2020/02/28 Python
python读取当前目录下的CSV文件数据
2020/03/11 Python
解决Django no such table: django_session的问题
2020/04/07 Python
使用matplotlib的pyplot模块绘图的实现示例
2020/07/12 Python
利用 Canvas实现绘画一个未闭合的带进度条的圆环
2019/07/26 HTML / CSS
集团公司总经理岗位职责
2013/12/20 职场文书
十岁生日家长答谢词
2014/01/17 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
2014年中职班主任工作总结
2014/12/16 职场文书
幼儿园小班教师个人工作总结
2015/02/06 职场文书
大学生学年个人总结
2015/02/15 职场文书
禁毒心得体会范文
2016/01/15 职场文书
mongodb清除连接和日志的正确方法分享
2021/09/15 MongoDB
Win2008系统搭建DHCP服务器
2022/06/25 Servers