<html>
<head>
<meta charset="UTF-8">
<style>
body {
background-color: black;
overflow: hidden;
}
</style>
</head>
<body>
<script>
// 封装一个生成雪花的方法
function Flake() {
var img = document.createElement("img");
// 拿到窗口的宽高
var w = window.innerWidth;
var h = window.innerHeight;
// 雪花出现的位置是随机的,可视的范围内任何地方都可以出现
var top = h * Math.random();
var left = w * Math.random();
// 赋值坐标
img.style.position = "absolute";
img.style.top = top + 'px';
img.style.left = left + 'px';
// 为img添加图片
img.src = 'flake.png';
// 随机雪花的大小 (也可以设置成固定的)
// transform
img.style.transform = "scale(" + Math.random() / 2 + ")";
// 添加
document.body.appendChild(img);
// 下落
function down() {
top += Math.random() * 5;
left += Math.random() * 5
// 判断到边,如果top或left大于窗口的大小,表示超出屏幕了,可以拽回来
if (top > h) top = -100;
if (left > w) left = -100;
img.style.top = top + 'px';
img.style.left = left + 'px';
}
// 为每一个对象准备一个定时器 用来下落
setInterval(down, 20);
}
// Flake(); //这里每次只有一个雪花
// 多生成雪花 用for循环 40个(可以随意定个数)
for (var i = 0; i < 40; i++) {
// 为了保证每个对象的完整性,每一次为一个雪花对象开辟一个内存
new Flake();
}
</script>
</body>
</html>