在本文中,我们将使用 JS 构建一个生成雨水的容器。这是一场色彩随机的七彩雨。您可以随意使用颜色。首先,让我们看看我们在构建什么。

预览

在线演示地址:http://haiyong.site/qicaiyu

现在让我们看一下代码,我们如何让它工作。

HTML

<div class="rain-container"></div>

CSS

* {margin: 0;padding: 0;
}.rain-container {position: relative;background: #000;width: 100vw;height: 100vh;overflow: hidden;
}i {position: absolute;height: 120px;border-radius: 0 0 999px 999px;animation: animate 5s linear infinite;
}@keyframes animate {0% {transform: translateY(-120px);}100% {transform: translateY(calc(100vh + 120px));}
}

Javascript

const rainContainer = document.querySelector(".rain-container");// 雨滴的背景颜色
const background = ["linear-gradient(transparent, aqua)","linear-gradient(transparent, red)","linear-gradient(transparent, limegreen)","linear-gradient(transparent, white)","linear-gradient(transparent, yellow)"
];const amount = 100; // 雨滴的数量
let i = 0;// 循环并创建雨滴,然后添加到rainContainer
while (i < amount) {//  创建和元素const drop = document.createElement("i");//   雨滴的 CSS 属性const raindropProperties = {width: Math.random() * 5 + "px",positionX: Math.floor(Math.random() * window.innerWidth) + "px",delay: Math.random() * -20 + "s",duration: Math.random() * 5 + "s",bg: background[Math.floor(Math.random() * background.length)],opacity: Math.random() + 0.2};//   设置雨滴样式drop.style.width = raindropProperties.width;drop.style.left = raindropProperties.positionX;drop.style.animationDelay = raindropProperties.delay;drop.style.animationDuration = raindropProperties.duration;drop.style.background = raindropProperties.bg;drop.style.opacity = raindropProperties.opacity;//   将雨滴添加到雨滴容器中rainContainer.appendChild(drop);i++;
}

完整源码关注公众号【海拥】回复【代码】获取

Java、Python、算法知识体系 | PPT、简历模板 | 游戏源码 | IT行业趣味资讯 | 装机必备软件

都可关注公众号【海拥】回复【资料】获取

使用 JS 实现七彩雨相关推荐

  1. Babel 陷财务困境,负责人13万年薪遭质疑,Vue.js作者尤雨溪发文力挺

    整理 | Carol 出品 | CSDN(ID:CSDNnews) 最近,拥有百万用户的开源项目 Babel 宣布,由于花钱速度持续高于获取捐赠的速度,Babel 已经陷入了财务困境,当前剩余的资金将 ...

  2. Vue.js 作者 尤雨溪 确认出席 VueConf 2019 上海

    VueConf 2019 上海(第三届VueConf) 将于2019年6月8日 在上海举办. 目前正在抢票中, 如果你对本次会议感兴趣可以移步大会网站:vue.w3ctech.com 如果你有关注过V ...

  3. Vue.js 作者尤雨溪:TypeScript 与 JavaScript 并行才切合实际!

    作者 | Evrone 译者 | 弯月,责编 | 杨碧玉 头图 | CSDN 下载自视觉中国 出品 | CSDN(ID:CSDNnews) 以下为译文: 简介 尤雨溪是一名优秀的软件开发人员,同时是开 ...

  4. JS 实现红包雨效果,倒计时开红包 兼容移动端

    本文实例为大家分享了Html实现移动端红包雨功能页面的具体代码,供大家参考,具体内容如下: JS代码 function randomNum(minNum, maxNum) {switch (argum ...

  5. 掘金 AMA:听 Vue.js 作者--尤雨溪谈 Vue.js 独立开发 设计那些事

    第七期 沸点,掘金团队请来了Vue.js 的作者,全职独立开源开发者尤雨溪做了为期三天的 Ask Me Anything (AMA) 活动(已结束). 我们在此精选了一些来自用户的提问及尤小右(尤雨溪 ...

  6. JS——红包雨(抢红包)

    JS实现红包雨 这里只是一个效果的实现,没有添加更多复杂的业务逻辑,方便直接拿来使用 PS.该版本会出现卡顿的情况,暂时还未解决,所以重新使用css新属性实现了一个:https://blog.csdn ...

  7. 怎样才能学好Vue,听听尤雨溪怎么说?

    如果你想问前端最值得学习的框架是什么,我一定会毫不犹豫地告诉你是Vue. 无论你是技术小白还是前端工程师,Vue的重要性自不必多说.从首个Commit的提交到破茧重生的Vue3.Vite2,Vue凭借 ...

  8. Vue涉及国家安全漏洞?尤雨溪亲自回应

    文 | 局长 出品 | OSC开源社区(ID:oschina2013) 两张来源不明的截图近日在业内被广泛传播,其内容是国家有关部门要求境内党政机关和重要企事业单位对两款开源项目 SonarQube ...

  9. python django vue_Django+Vue.js构建项目

    本文主要讲述如何从0开始,用Django和Vue.js构建一个项目.文章提要:Django与vue.js整合开发原理 从头新建一个Django项目 新建一个前端页面,使用vue应用 在Django中设 ...

最新文章

  1. JDK 17 要来了!会带来什么新特性?不好意思,我还在 JDK 7 踏步走...
  2. Oracle数据库的基本语法
  3. 枚举类型enum需要注意的6点!
  4. 【转】xargs命令详解,xargs与管道的区别
  5. 安卓开发基础面试题,Android面试必备的集合源码详解,附小技巧
  6. Vue.js 学习笔记 十 自定义按键事件
  7. jvm 的内存分配方式
  8. 【原创】ES5高效封装WIN10系统教程2020系列(一)母盘定制
  9. sketch 52.2 中文破解版发布 附下载地址
  10. 重学前端第一天——HTML结构和常见的HTML元素
  11. Layui表格实现显示空白行数据
  12. iPhone无法连接Wi-Fi解决方法
  13. xilinx IP 汇总
  14. Python 自学笔记----1.1实例与封装
  15. python实现1/n倍频程计算
  16. android studio 皮肤,Android Studio 自定义皮肤主题和背景
  17. 我的世界模组-minecraft fpv
  18. 不积跬步无以至千里005
  19. 什么是前端宏任务,什么又是前端微任务呢?一文读懂前端微任务宏任务。
  20. 金融行业IT运维监控体系建设

热门文章

  1. 杭州阳陂湖湿地公园游览攻略
  2. 昭阳E47G开机问题
  3. 使用豆瓣源下载指定版本的tensorflow(附conda安装tensorflow全步骤)
  4. 飞鸽传书——CRM短信平台
  5. 我的十几年技术总结(一):从疯狂到无奈
  6. 大工21春《船舶制图》大作业离线作业
  7. [HDU1004] Let the balloon rise - 让气球升起来
  8. 分支定界算法在中学排课问题中的应用
  9. 【洛谷P3386】【模板】二分图匹配【网络流】
  10. 为什么要格式化namenode以及注意点