太热了,只能自己写个程序来降温了

简介: 太热了,只能自己写个程序来降温了

这个天气,敢出门的都是抗日英雄

自打入夏以来,小面就独得太阳恩宠

小面天天求太阳,一定要雨露均沾哦

可是没有个鬼用


今天,小面就教各位同学

自己动手,人工降雪

1. 准备工作

一个雪花图片

一个记事本(或者IDE)

2. 目标

50行代码,解决人工降雪问题

3. 代码

分为以下几个步骤:

  • 绘制背景
  • 通过雪花图片,随机生成大小、初始位置不同的雪花元素
  • 雪花飘落实现
  • 掉在地上的雪花销毁

3.1 主界面

<!DOCTYPE html>
<html>
    <head>
        <title>天太热,快下雪吧</title>
        <style>
            // TODO
        </style>
        <script>
            // TODO
        </script>
    </head>
</html>

将背景换成黑色

body {
    background-color: #000000;
}

3.2 灵魂代码

开始表演真正的技术

function runSnow() {
    let width = window.innerWidth;
    let height = window.innerHeight;
    let snow = document.createElement("div");
    ////雪花图片大小介于5 ~ 55px
    size = Math.random()*50 + 5;                          
    snow.style.width = size + "px";
    snow.style.height = size + "px";
    snow.style.background = "url(images/snow.png) no-repeat";
    snow.style.backgroundSize = '100% 100%';
    snow.style.position = "fixed";
    //透明度在 0.4 ~ 1.0 之间
    snow.style.opacity = parseInt(Math.random()*6)/10 + 0.4; 
    //随机生成雪花的横向位置
    snow.style.left = Math.random()*width + 'px';
    //雪花纵向位置固定从最顶上开始
    snow.style.top = "0px";
    document.body.appendChild(snow);
    //每30ms雪花下落一次
    let speed=30;
    let timer = setInterval(function() {
        snow.style.top = parseInt(snow.style.top) + 10 + 'px';
        if(parseInt(snow.style.top) >= height) {
            //当雪花到达底部后,清除
            clearInterval(timer);
            snow.parentNode.removeChild(snow);
        }
    }, speed);
}
window.onload = function () {
    //每50ms生成一朵雪花
    let fre=50;
    setInterval(function() {
        runSnow()
    }, fre);
}

顺利完成

4. 运行效果

5. 增加亿点点变化

俗话说:UI好看靠图片凑,接下来看看能玩出哪些花样吧

5.1 更换背景

修改body的css,增加背景图,设置居中铺满全页

body {
    background-image: url(images/city.jpg);
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    background-repeat: no-repeat;
}

档次明显上升了


5.2 更换掉落元素

5.2.1 鸡腿

5.2.2 红包

5.2.3 元宝


太开心了

又凉快,又好吃,又有钱

你学会了吗?

相关文章
|
7月前
|
传感器 数据采集 算法
LabVIEW轨道交通列车牵引制动试验平台
LabVIEW轨道交通列车牵引制动试验平台
44 1
|
传感器 存储 数据安全/隐私保护
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
466 0
基于PLC十字路口交通灯控制(可计算车流量、调整时间等)课程设计毕业设计
程序人生 - 空调除湿与制冷的区别?
程序人生 - 空调除湿与制冷的区别?
97 0
程序人生 - 空调除湿与制冷的区别?
程序人生 - 买榴莲就是一场豪赌(下)
程序人生 - 买榴莲就是一场豪赌(下)
112 0
程序人生 - 买榴莲就是一场豪赌(下)
程序人生 - 买榴莲就是一场豪赌(上)
程序人生 - 买榴莲就是一场豪赌(上)
132 0
程序人生 - 买榴莲就是一场豪赌(上)
|
5G 芯片
快充和大容量电池 谁才是手机续航焦虑的良药?
快充和大容量电池 谁才是手机续航焦虑的良药?
250 0
快充和大容量电池 谁才是手机续航焦虑的良药?
|
新能源 定位技术 芯片
一张会发电的“纸” 让你的电子设备永久续航
相信不少小伙伴和朋友出去玩会遇到手机没电的情况,好在一般都有个机智的朋友会带上充电宝。然而手机没电就像传染病一样,过会朋友的手机也没电了,于是一大波人就share这块充电宝。我们可怜的充电宝君哪里经得起这么多手机的压榨,到头来每个小伙伴的手机都没能充满电,实在让人头疼。
386 0
一张会发电的“纸” 让你的电子设备永久续航
|
监控
怪兽充电 x mPaaS | 拯救你的电量焦虑
电量低的时候,每一毫秒都是流失焦虑。
820 0
怪兽充电 x mPaaS | 拯救你的电量焦虑
「镁客早报」台积电制造芯片用化学原料出问题,已影响产能;“2号龙飞船”下月首飞
台积电方面表示,尽管当前部分芯片产能受到影响,但其可以在第一和第二季度弥补大部分受损产能。
403 0
|
数据中心
服务器散热问题老大难!液体降温冷却方式你试过了吗?
如今,绿色节能数据中心已然成为现代数据中心发展趋势,数据中心的散热问题始终是其解决的难题之一。 4月26日,阿里云科学家在的云栖大会·南京峰会上展示了全浸没的“凉得快”服务器——麒麟,把整台服务器浸在液体里循环冷却,这一方案可以无需使用空调,能源使用率(PUE)逼近了理论极限值1.0。
3858 0