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 相关文章推荐
IE7中javascript操作CheckBox的checked=true不打勾的解决方法
Dec 07 Javascript
javascript学习笔记(四) Number 数字类型
Jun 19 Javascript
formvalidator验证插件中有关ajax验证问题
Jan 04 Javascript
javascript自定义startWith()和endWith()的两种方法
Nov 11 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
May 12 Javascript
基于jQuery实现交互体验社会化分享代码附源码下载
Jan 04 Javascript
jQuery图片前后对比插件beforeAfter用法示例【附demo源码下载】
Sep 20 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
May 11 Javascript
ES6模块化的import和export用法方法总结
Aug 08 Javascript
解决js ajax同步请求造成浏览器假死的问题
Jan 18 Javascript
vue ref如何获取子组件属性值
Mar 31 Vue.js
JavaScript架构搭建前端监控如何采集异常数据
Jun 25 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
php方法调用模式与函数调用模式简例
2011/09/20 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
ThinkPHP函数详解之M方法和R方法
2015/09/10 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
Laravel接收前端ajax传来的数据的实例代码
2017/07/20 PHP
php intval函数用法总结
2019/04/14 PHP
tp5框架的增删改查操作示例
2019/10/31 PHP
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
js判断所有表单项不为空则提交表单的实现方法
2016/09/09 Javascript
用Angular实时获取本地Localstorage数据,实现一个模拟后台数据登入的效果
2016/11/09 Javascript
JS高级运动实例分析
2016/12/20 Javascript
JavaScript中在光标处插入添加文本标签节点的详细方法
2017/03/22 Javascript
Vue实现多标签选择器
2019/11/28 Javascript
一篇文章带你浅入webpack的DLL优化打包
2020/02/20 Javascript
Python爬虫抓取手机APP的传输数据
2016/01/22 Python
python日志记录模块实例及改进
2017/02/12 Python
sublime text 3配置使用python操作方法
2017/06/11 Python
Python爬虫获取整个站点中的所有外部链接代码示例
2017/12/26 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
python全栈要学什么 python全栈学习路线
2019/06/28 Python
Python学习笔记之迭代器和生成器用法实例详解
2019/08/08 Python
Python 转换文本编码实现解析
2019/08/27 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python实现Word表格转成Excel表格的示例代码
2020/04/16 Python
Python HTMLTestRunner测试报告view按钮失效解决方案
2020/05/25 Python
突袭HTML5之Javascript API扩展1—Web Worker异步执行及相关概述
2013/01/31 HTML / CSS
html2canvas把div保存图片高清图的方法示例
2018/03/05 HTML / CSS
微软日本官方网站:Microsoft日本
2017/11/26 全球购物
简历的自荐信
2013/12/19 职场文书
大学生实习鉴定评语
2014/04/25 职场文书
安全生产专项整治方案
2014/05/06 职场文书
2015年保险公司工作总结
2015/04/24 职场文书
司法廉洁教育心得体会
2016/01/20 职场文书
《假如》教学反思
2016/02/17 职场文书
漫画《催眠麦克风-Dawn Of Divisions》第二卷PV公开
2022/04/05 日漫
浅谈MySql update会锁定哪些范围的数据
2022/06/25 MySQL