JavaScript canvas仿代码流瀑布

 更新时间:2020年02月10日 15:25:33   作者:crazy的蓝色梦想  
这篇文章主要为大家详细介绍了JavaScript canvas仿代码流瀑布,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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调试常见报错及原因分析

    JavaScript调试常见报错及原因分析

    这篇文章主要介绍了JavaScript调试常见报错及原因分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-04-04
  • JavaScript实践之使用Canvas开发一个可配置的大转盘抽奖功能

    JavaScript实践之使用Canvas开发一个可配置的大转盘抽奖功能

    公司项目搞优惠活动,让做一个转盘抽奖的活动,这篇文章主要给大家介绍了关于JavaScript实践之使用Canvas开发一个可配置的大转盘抽奖功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-11-11
  • js实现鼠标跟随小游戏

    js实现鼠标跟随小游戏

    这篇文章主要为大家详细介绍了js实现鼠标跟随小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-08-08
  • JavaScript框架设计模式详解

    JavaScript框架设计模式详解

    这篇文章主要介绍了javascript框架设计模式,结合实例形式分析了javascript模板方法模式相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2021-09-09
  • JS弹出窗口插件zDialog简单用法示例

    JS弹出窗口插件zDialog简单用法示例

    这篇文章主要介绍了JS弹出窗口插件zDialog简单用法,结合简单实例形式分析了zDialog插件弹出窗口的基本使用方法与参数含义,需要的朋友可以参考下
    2016-06-06
  • 解决layui调用自定义方法提示未定义的问题

    解决layui调用自定义方法提示未定义的问题

    今天小编就为大家分享一篇解决layui调用自定义方法提示未定义的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • JavaScript创建数组的方法详解

    JavaScript创建数组的方法详解

    这篇文章主要为大家介绍了JavaScript创建数组的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2021-12-12
  • JavaScript中将字符串转换为数字的七种方法总结

    JavaScript中将字符串转换为数字的七种方法总结

    在js的使用中往往伴随着有格式带来的问题,下面这篇文章主要给大家介绍了关于JavaScript中将字符串转换为数字的七种方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • 用nodejs实现PHP的print_r函数代码

    用nodejs实现PHP的print_r函数代码

    这篇文章主要介绍了用nodejs实现PHP的print_r函数代码,需要的朋友可以参考下
    2014-03-03
  • 微信小程序模板与设置WXML实例讲解

    微信小程序模板与设置WXML实例讲解

    这篇文章主要介绍了微信小程序模板与设置WXML,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08

最新评论