您的位置:首页技术文章
文章详情页

JavaScript canvas实现代码雨效果

【字号: 日期:2023-06-02 16:20:11浏览:3作者:猪猪

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

先看效果图

JavaScript canvas实现代码雨效果

这个效果图是不是像极了以前电影里面的黑客技术,看起来蛮难的,其实操作起来还是挺简单的。

canvas其实就是画布的意思首先我们得有一个画布

<body> <canvas id='canvas'></canvas></body>

再设这样一个背景

HTML部分

<body> <canvas id='canvas'></canvas> <div></div></body>

CSS部分

<style>*{ margin: 0; padding: 0;}#canvas{ overflow: hidden; position: absolute; z-index: 1;}div{ width: 480px; height: 280px; border-radius: 50%; background-image: url(img/第八天素材.jpg); position: absolute; top: calc(50% - 140px); left: calc(50% - 240px); z-index: 2; opacity: 0.4;}</style>

JavaScript canvas实现代码雨效果

后面就是JS部分一个画布,一个画笔,还有给画布一个宽高

<script> var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var width = window.innerWidth; var height = window.innerHeight; canvas.height = height; canvas.width = width;</script>

详细代码如下:

<script> var canvas = document.getElementById('canvas'); var context = canvas.getContext('2d'); var width = window.innerWidth; var height = window.innerHeight; canvas.height = height; canvas.width = width; //设置一个 字体大小的变量 var fontsize = 16; //设置一个变量用来存放 一整行能够同时容纳多少个字 var count = width/fontsize; console.log(count); //创建一个数组 用来存放字的 var arr = []; for(var i = 0; i < count; i++){arr.push(0);console.log(arr); } //用数组的方式 存放数据 var stringarr = 'I Love You' function show(){ //开始画画context.beginPath();context.fillRect(0,0,width,height);//透明度context.fillStyle = 'rgba(0,0,0,0.05)';//字体得颜色context.strokeStyle = 'chartreuse';for( var i =0; i<arr.length; i++){ var x = i*fontsize; var y = arr[i]*fontsize; var index = Math.floor(Math.random()*stringarr.length); context.strokeText(stringarr[index],x,y); if(y >=height&&Math.random()>0.99 ){arr[i]=0; } arr[i]++;}context.closePath(); } show();//调用函数 var timer = setInterval(show,30);</script>

如有不足,请多指导。

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

标签: JavaScript
相关文章: