Hello world
正在获取天气
正在刷新…
<canvas>,统一纯色底 #1a1a2e,无背景渐变。天气加载完成后直接 display 切换,无过渡动画。
| 层 | 元素 | 初始 | 切换后 |
|---|---|---|---|
| 背景 | body | 统一纯色 #1a1a2e,不变 | |
| Canvas 1 | #canvas-default | V1 蓝色粒子 | display: none |
| Canvas 2 | #canvas-weather | display: none | 天气粒子 |
rgba(14,165,233),随机大小 1-4px。粒子数 = 视口面积 / 5000。碰到边界反弹。鼠标 100px 内粒子被吸引。连线效果:任意两粒子距离 < 100px 时画线,透明度随距离衰减(O(n²))。
| 类型 | 视觉 | 特点 |
|---|---|---|
| ☀️ sunny | 径向渐变光点 | 正弦脉动呼吸感 + 连线 |
| 🌙 clear_night | 径向渐变光点 | 正弦脉动呼吸感 + 连线 |
| ☁️ cloudy | 灰色小圆点 | 缓慢漂移 + 弱连线 |
| 🌥️ overcast | 灰色小圆点 | 缓慢漂移 + 弱连线 |
| 🌫️ fog | 大半透明模糊球 | 15-45px,透明度 0.02-0.08 |
| 🌦️ drizzle | 细短线段 | vy 2-5,微倾斜 |
| 🌧️ rain | 倾斜雨滴线段 | vy 8-12,落底重生 |
| 🌧️ heavy_rain | 倾斜雨滴线段 | vy 12-16,落底重生 |
| ❄️ snow | 白点 + 光晕 | 正弦横向摆动飘雪 |
| ⛈️ thunder | 大雨 + 白色 flash | 随机间隔闪电覆盖全屏 |
destroy() 停止动画循环。只有晴天/多云类型才画连线,其他跳过 O(n²) 计算。