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

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

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

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

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

可是没有个鬼用


今天,小面就教各位同学

自己动手,人工降雪

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


太开心了

又凉快,又好吃,又有钱

你学会了吗?

相关文章
|
达摩院 运维 网络协议
给风机装上“翅膀”,解决网络“最后一公里”难题
给风机装上“翅膀”,解决网络“最后一公里”难题
64 0
程序人生 - 买榴莲就是一场豪赌(上)
程序人生 - 买榴莲就是一场豪赌(上)
107 0
程序人生 - 买榴莲就是一场豪赌(上)
程序人生 - 买榴莲就是一场豪赌(下)
程序人生 - 买榴莲就是一场豪赌(下)
85 0
程序人生 - 买榴莲就是一场豪赌(下)
|
安全 网络协议 Linux
凉了,CPU 飙的老高了!
开启SELinux 杀掉挖矿进程 删除病毒程序(注意rm命令是否被替换) 删除病毒驱动程序(注意rm命令是否被替换) 删除病毒添加的登录凭据 防火墙封禁IP、端口
凉了,CPU 飙的老高了!
|
新能源 定位技术 芯片
一张会发电的“纸” 让你的电子设备永久续航
相信不少小伙伴和朋友出去玩会遇到手机没电的情况,好在一般都有个机智的朋友会带上充电宝。然而手机没电就像传染病一样,过会朋友的手机也没电了,于是一大波人就share这块充电宝。我们可怜的充电宝君哪里经得起这么多手机的压榨,到头来每个小伙伴的手机都没能充满电,实在让人头疼。
318 0
一张会发电的“纸” 让你的电子设备永久续航
|
芯片
你的移动电源够快吗?手机急需快充怎么办?
你的移动电源充满需要几个小时?你的移动电源能够充手机几次?你是不是经常半夜回家忘了给移动电源充电而第二天不得不借用朋友的移动电源?你是否在家里配备了多个备用移动电源?每当问到这些问题,很多朋友都能讲出N个与移动电源的真实故事。 充电慢、充电次数少等问题成为移动电源用户的痛点。很多商家因此也推出了快充移动电源。但是当前市面上的主流产品多以5V2A为主,要充满一个10000mAh的移动电源至少需要6个小时,仍旧不能彻底解决让用户头痛的充电慢的问题。
177 0
你的移动电源够快吗?手机急需快充怎么办?
|
数据中心
服务器散热问题老大难!液体降温冷却方式你试过了吗?
如今,绿色节能数据中心已然成为现代数据中心发展趋势,数据中心的散热问题始终是其解决的难题之一。 4月26日,阿里云科学家在的云栖大会·南京峰会上展示了全浸没的“凉得快”服务器——麒麟,把整台服务器浸在液体里循环冷却,这一方案可以无需使用空调,能源使用率(PUE)逼近了理论极限值1.0。
3681 0