返回列表 发新帖

js飘雪特效

[复制链接]

97

主题

624

回帖

3097

积分

大学生

渣男

Rank: 5Rank: 5

金币
1206
好评
45
信誉
100

考神MT论坛帅哥MT论坛最佳新人MT论坛新人MT论坛活跃会员

QQ
发表于 2025-11-25 10:04:48 来自手机  | 显示全部楼层 | 阅读模式  来自 贵州
本帖最后由 牡丹君 于 2025-11-25 17:22 编辑

复制到网页中即可食用,无需样式和id,真实自然,不卡顿,放心食用。放在via浏览器脚本里可以实现本地所有网页飘雪效果。(去掉script标签)

  1. <script>
  2. //飘雪特效右上角往左无需样式
  3. (function() {
  4.     var existing = document.getElementById('snow_canvas_overlay');
  5.     if (existing) existing.remove();

  6.     var canvas = document.createElement("canvas");
  7.     var ctx = canvas.getContext("2d");
  8.     var width = window.innerWidth;
  9.     var height = window.innerHeight;
  10.     var flakes = [];
  11.     var flakeCount = 250;

  12.     canvas.id = "snow_canvas_overlay";
  13.     canvas.style.cssText = "position:fixed;top:0;left:0;width:100%;height:100%;z-index:999999;pointer-events:none;";
  14.     document.body.appendChild(canvas);

  15.     function resize() {
  16.         width = window.innerWidth;
  17.         height = window.innerHeight;
  18.         canvas.width = width;
  19.         canvas.height = height;
  20.     }
  21.     window.addEventListener("resize", resize);
  22.     resize();

  23.     function createFlake(initial) {
  24.         var r = Math.random() * 3 + 1;
  25.         var x, y;
  26.         
  27.         if (initial) {
  28.             x = Math.random() * width;
  29.             y = Math.random() * height;
  30.         } else {
  31.             if (Math.random() > 0.5) {
  32.                 x = Math.random() * width + (width * 0.2);
  33.                 y = -10;
  34.             } else {
  35.                 x = width + 10;
  36.                 y = Math.random() * height;
  37.             }
  38.         }

  39.         return {
  40.             x: x,
  41.             y: y,
  42.             r: r,
  43.             speed: r * 0.4 + Math.random() * 0.6,
  44.             wind: r * 0.3 + 0.5,
  45.             swing: Math.random() * Math.PI * 2,
  46.             swingSpeed: 0.02 + Math.random() * 0.03,
  47.             opacity: 0.4 + Math.random() * 0.6
  48.         };
  49.     }

  50.     function init() {
  51.         for (var i = 0; i < flakeCount; i++) {
  52.             flakes.push(createFlake(true));
  53.         }
  54.         loop();
  55.     }

  56.     function loop() {
  57.         ctx.clearRect(0, 0, width, height);

  58.         for (var i = 0; i < flakeCount; i++) {
  59.             var f = flakes[i];

  60.             f.swing += f.swingSpeed;
  61.             f.y += f.speed;
  62.             f.x -= f.wind + Math.cos(f.swing) * 0.5;

  63.             ctx.beginPath();
  64.             ctx.arc(f.x, f.y, f.r, 0, Math.PI * 2);
  65.             ctx.fillStyle = "rgba(255, 255, 255, " + (f.r / 4 * f.opacity) + ")";
  66.             ctx.fill();

  67.             if (f.y > height || f.x < -20) {
  68.                 flakes[i] = createFlake(false);
  69.             }
  70.         }
  71.         requestAnimationFrame(loop);
  72.     }

  73.     init();
  74. })();
  75. </script>
复制代码
已有1人评分好评 理由
MW + 1

查看全部评分 总评分:好评 +1 

回复

使用道具 举报

1

主题

57

回帖

192

积分

小学生

Rank: 2

金币
182
好评
0
信誉
100
发表于 2025-11-25 10:29:53 | 显示全部楼层  来自 广东
感谢楼主热心分享!
回复

使用道具 举报

1

主题

566

回帖

1226

积分

高中生

Rank: 4

金币
259
好评
0
信誉
100
发表于 2025-11-25 10:32:27 来自手机  | 显示全部楼层  来自 湖南
感谢分享
回复

使用道具 举报

6

主题

125

回帖

400

积分

初中生

Rank: 3Rank: 3

金币
144
好评
0
信誉
98
发表于 2025-11-25 11:26:33 来自手机  | 显示全部楼层  来自 广西
感谢分享
回复

使用道具 举报

48

主题

4230

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
230
好评
19
信誉
100
发表于 2025-11-25 16:30:49 来自手机  | 显示全部楼层  来自 天津
感谢分享
回复

使用道具 举报

0

主题

331

回帖

1435

积分

高中生

Rank: 4

金币
162
好评
0
信誉
100
发表于 2025-11-25 16:36:02 | 显示全部楼层  来自 湖北
这个放在哪儿?
回复

使用道具 举报

172

主题

4654

回帖

1万

积分

博士生

水怪

Rank: 7Rank: 7Rank: 7

金币
4521
好评
23
信誉
99

MT论坛灌水老大MT论坛活跃会员

发表于 2025-11-25 16:56:28 来自手机  | 显示全部楼层  来自 福建
dpin 发表于 2025-11-25 16:36
这个放在哪儿?

可以加到油猴脚本末尾
回复

使用道具 举报

0

主题

1235

回帖

2218

积分

大学生

Rank: 5Rank: 5

金币
24
好评
0
信誉
101
发表于 2025-11-25 17:00:12 | 显示全部楼层  来自 安徽
谢谢分享
回复

使用道具 举报

11

主题

522

回帖

1709

积分

高中生

Rank: 4

金币
992
好评
0
信誉
100
发表于 2025-11-25 17:14:58 来自手机  | 显示全部楼层  来自 山东
好用,点赞
回复

使用道具 举报

6

主题

125

回帖

400

积分

初中生

Rank: 3Rank: 3

金币
144
好评
0
信誉
98
发表于 2025-11-25 20:41:47 来自手机  | 显示全部楼层  来自 广西
回复

使用道具 举报

15

主题

5346

回帖

1万

积分

博士生

Rank: 7Rank: 7Rank: 7

金币
6286
好评
0
信誉
106
发表于 2025-11-26 12:37:21 来自手机  | 显示全部楼层  来自 广东
感谢分享
回复

使用道具 举报

1

主题

1万

回帖

3万

积分

博士后

Rank: 8Rank: 8

金币
9013
好评
4
信誉
1303

考神MT论坛帅哥MT论坛新人

发表于 2025-11-28 07:08:53 来自手机  | 显示全部楼层  来自 广西
看看
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表