HTML5 canvas如何实现代码流瀑布?(附代码)


本文摘自PHP中文网,作者青灯夜游,侵删。

本篇文章给大家分享HTML5 canvas代码流瀑布的具体代码。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

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

html部分:

一个canvas元素:

1

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

css部分:

1

2

3

4

5

6

7

8

9

10

11

12

13

<style>

  *{

   padding: 0;

   margin: 0;

  }

  canvas{

   background-color: #111;

  }

  body{

   overflow: hidden;

   

  }

</style>

js部分

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

<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>

动态效果图:

1.gif

更多炫酷特效,推荐访问:js特效大全!

以上就是HTML5 canvas如何实现代码流瀑布?(附代码)的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

12个冷门的h5设计小技巧

关于html5 history api 的介绍

html5与html的区别有哪些?html5与html四大区别总结

ajax获取网页添加到div中的方法

html5框架有哪些

如何解决html5微信播放全屏问题

js数组学习之清空全部元素的4种方法(代码详解)

js怎么替换css样式

js 中排名前十的报错如何避免

利用html+css+js实现简单的点赞效果

更多相关阅读请进入《js》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...