技术标签: 前端 HTML html javascript
人生不可能总是顺心如意,但持续朝着阳光走,影子就会躲在后面,刺眼,却是对的方向
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>流星雨</title>
<meta name="keywords" content="关键词,关键字">
<meta name="description" content="描述信息">
<style>
body {
margin: 0;
overflow: hidden;
}
</style>
</head>
<body>
<!--
<canvas>画布 画板 画画的本子
-->
<canvas width=400 height=400 style="background:#000000;" id="canvas"></canvas>
<!--
javascript
画笔
-->
<script>
//获取画板
//doccument 当前文档
//getElement 获取一个标签
//ById 通过Id名称的方式
//var 声明一片空间
//var canvas 声明一片空间的名字叫做canvas
var canvas = document.getElementById("canvas");
//获取画板权限 上下文
var ctx = canvas.getContext("2d");
//让画板的大小等于屏幕的大小
/*
思路:
1.获取屏幕对象
2.获取屏幕的尺寸
3.屏幕的尺寸赋值给画板
*/
//获取屏幕对象
var s = window.screen;
//获取屏幕的宽度和高度
var w = s.width;
var h = s.height;
//设置画板的大小
canvas.width = w;
canvas.height = h;
//设置文字大小
var fontSize = 14;
//计算一行有多少个文字 取整数 向下取整
var clos = Math.floor(w/fontSize);
//思考每一个字的坐标
//创建数组把clos 个 0 (y坐标存储起来)
var drops = [];
var str = "qwertyuiopasdfghjklzxcvbnm";
//往数组里面添加 clos 个 0
for(var i = 0;i<clos;i++) {
drops.push(0);
}
//绘制文字
function drawString() {
//给矩形设置填充色
ctx.fillStyle="rgba(0,0,0,0.05)"
//绘制一个矩形
ctx.fillRect(0,0,w,h);
//添加文字样式
ctx.font = "600 "+fontSize+"px 微软雅黑";
//设置文字颜色
ctx.fillStyle = "#00ff00";
for(var i = 0;i<clos;i++) {
//x坐标
var x = i*fontSize;
//y坐标
var y = drops[i]*fontSize;
//设置绘制文字
ctx.fillText(str[Math.floor(Math.random()*str.length)],x,y);
if(y>h&&Math.random()>0.99){
drops[i] = 0;
}
drops[i]++;
}
}
//定义一个定时器,每隔30毫秒执行一次
setInterval(drawString,30);
</script>
</body>
</html>
运行效果截图:
有很多人都给我留言说写不出来,最后经过我的排查都是抄代码抄错了,所以我这里给大家一个直接下载的地址,微信搜索公众号码海无际或扫描左侧二维码回复c024获取
本篇博客来自于潭州教育视频教程的总结以及笔记的整理,仅供学习交流,切勿用于商业用途,如有侵权,请联系博主删除,博主QQ:194760901
文章浏览阅读2.2k次。幸运的是,IntelliJ IDEA 提供了一种自动生成 serialVersionUID 的方法,可以帮助我们简化这个过程。通过使用 IntelliJ IDEA 的自动生成功能,我们在类的定义行上右键单击并选择 “Generate”,然后选择 “Serializable class”,IntelliJ IDEA 将自动生成 serialVersionUID 字段。生成的 serialVersionUID 是基于类的结构和成员的哈希值计算得出的,因此在类的结构发生变化时,生成的值也会相应地发生变化。_idea自动生成serialversionuid
文章浏览阅读85次。智慧导诊针对具体医院业务场景可接入科室介绍,专家介绍,门诊安排,就诊需知, 科室位置等,患者选择科室后可直接完成挂号。智慧导诊系统按照人体的性别差异,设计了男性/女性两种3D立体模型,用于病症库与自助导诊之间数据信息的读取与交互,在软件病症库中,将不同患者的常见病症进行分类整合,患者可通过人体画像选择症状部位,了解对应病症信息和推荐就医科室,为患者提供直观就医指导,减少导诊台工作量。4、根据患者提供的信息,会根据情况提供相关建议,并最终推荐就诊的科室。1)实现患者自助、正确的导诊,提高挂号窗口的速度;
文章浏览阅读990次。【代码】设置vim 显示行号及快速定位。_vim显示行号
文章浏览阅读1.2k次,点赞2次,收藏7次。MATLAB——绘制离散周期信号_用 matlab 绘制周期矩阵序列,周期为 n ,每个周期内非零值点数为2m+1
文章浏览阅读1.6w次。ncnn是腾讯优图最近开源的适合移动端的深度学习框架。mobileNet是谷歌在2017年4月份发表的论文MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications中提出的网络。_ncnn mobilenet
文章浏览阅读386次,点赞9次,收藏7次。在传输数据层要先建立连接 websocket:双工。通信过程中链路会发生转换,但是网络层寻址是不变的。2个地址:ip:逻辑地址;真正一帧的内容:1460,tcp就要分段。20个头部 1500个字节-20-20。cdn&dns(包括cdn)的原理。tcp:安全 udp:快 丢就丢了。,dhcp:动态主机分配协议。具体的seq ack 及过程。每层协议指的就是约定和规范。数据传输 服务器如何响应。ip地址不变,mac会变。传输层:tcp/udp。tcp3次握手4次挥手。
文章浏览阅读944次。由于需要用pyqt给yolov8做一个界面,而ultralytics一层嵌一层,不是很好用,所以对它的这个源码进行精简,具体代码我放到了这里,ultralytics使用的版本是8.0.54。具体代码如下,需要根据自己的情况来修改data的配置文件以及权值文件,在代码的49和50行。_from ultralytics.utils.plotting import annotator, colors, save_one_box modul
文章浏览阅读1.1k次。C++面向对象程序设计教程课后题答案1、1什么就是面向对象程序设计?面向对象程序设计就是一种新的程序设计范型、这种范型的主要特征就是:程序=对象+消息面向对象程序的基本元素就是对象。主要结构特点就是:第一,程序一般由类的定义与类的使用两部分组成;第二,程序中的一切操作都就是通过向对象发送消息来实现的。1、2什么就是对象?什么就是类?对象与类之间的关系就是什么?对象就是描述其属性的数据以及对这些数据..._c++面向对象程序设计 陈维兴,林小茶课后习题
文章浏览阅读993次。前言写这个文章原因就是 要考虑uni-app打包成ios或android -app调试离线情况下线上引入icon无法显示的原因;就是uni-app iconfont离线引入本地引入一、自定义iconfont阿里巴巴矢量图标库https://www.iconfont.cn,创建项目,查找图标加入购物车后添加进自建项目内二、线上引用 先点刷新提示红字后刷新在线代码,然后将代码复..._uniapp加载在线css
文章浏览阅读2.5k次,点赞4次,收藏8次。如何 vscode 文件标签栏多行显示?步骤:ctrl + shift + p输入:open workspace settings搜索:wrap勾选:wrap tabs设置之后 第二次打开vscode 还是回一行文件名显示解决办法是:将这个设置写入配置json文件ctrl + shift + p输入:open workspace settings(JSON)添加配置,配置可通过配置界面操作得到{ // add at end "workbench.editor_vscode标签页多行
文章浏览阅读299次。【单选题】Western Nebraska generally receives less snow than _______ Eastern Nebraska.【论述题】请同学们录制一段1分钟左右的课文朗读(中英文均可),给这段声音配上适合的背景音乐,将这两段音乐合成后保存为MP3格式,以学号后五位+姓名命名,以附件形式上传。【简答题】请把上面这首诗翻译成一首现代诗。注意从音韵、措辞、修辞手法等..._some students prefer to spend their time taking part time jobs
PyTorch是一个开源的机器学习库,由Facebook的人工智能研究团队开发。它不仅支持强大的计算能力,而且提供了极大的灵活性和速度,这使得它非常适合进行研究原型的开发和生产部署。PyTorch的核心是提供了一个高度灵活的张量(Tensor)库,这与Numpy中的多维数组非常相似,但它可以在GPU上运行以加速计算。此外,PyTorch还提供了自动微分技术,即所谓的自动梯度计算,这对于深度学习模型的训练至关重要。随着深度学习技术的不断进步,对于专业性和高效性的需求也在不断提高。