效果先看

知识点
jQuery节点操作
- append()追加节点
js属性操作
- setAttribute() 设置属性(覆盖型)
jQuery动画
- animate();//请查看api
window对象定时与间隔执行操作
- setInterval();//间隔执行
- setTimeout();//定时执行
- 具体查看api
页面载入事件
- $(document).ready(fn)
获取浏览器长宽(或网页长宽)
- // var ScreenWidth = document.body.clientWidth;网页宽
- var ScreenWidth = window.innerWidth-10;
- var ScreenHeight = window.innerHeight-10;
完整代码
需要准备好jQuery文件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>天降粒子</title>
<script src="js/jQuery-3.4.1.js" type="text/javascript" charset="utf-8"></script>
<!-- <script src="js/texiao.js" type="text/javascript" charset="utf-8"></script> -->
<script type="text/javascript">
$(document).ready(function(){
window.setInterval("fly()",0);//数字为秒生产(1000/10)个div
});
function fly(){
//获取屏幕(或网页)宽高
// var ScreenWidth = document.body.clientWidth;网页宽
var ScreenWidth = window.innerWidth-10;
var ScreenHeight = window.innerHeight-10;
// 生成随机id
var str = String.fromCharCode(Math.floor(Math.random()*26+65));
var num = Math.floor(Math.random()*10000);
var id = str + num;
//生成随机宽高
var length = Math.ceil(Math.random()*10);
//生成随机速度
var speed = Math.floor(Math.random()*17000+1000);
//生成随机颜色
var r = Math.floor(Math.random()*155);
var g = Math.floor(Math.random()*150);
var b = Math.floor(Math.random()*55);
var color = 'rgb('+r+','+g+','+b+')';
//添加div
$("body").append("<div id='"+id+"'></div>");
//初始随机位置
var x = -30;
var y = Math.floor(Math.random()*ScreenWidth);
var div = $("#"+id);
div[0].setAttribute("style",""+length+"px;height:"+length+"px;background-color: "+color+";position: absolute;left:"+y+"px;top:"+x+"px;border-radius:"+(length/2)+"px;");
//动画开始
div.animate({top:''+ScreenHeight+'px'},speed);//动画时长:移动速度
//动画结束删除对象
window.setTimeout(function(){
div.remove()
},speed)
}
</script>
<style>
body{
background-color: black;
}
</style>
</head>
<body>
<div id="" style="color:white">
</div>
</body>
</html>