给网页加粒子背景只要10分钟:tsParticles 粒子动画库实战指南
给网页加粒子背景只要10分钟tsParticles 粒子动画库实战指南【免费下载链接】tsparticlestsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components.项目地址: https://gitcode.com/GitHub_Trending/ts/tsparticlestsParticles 是一个零第三方依赖的 TypeScript 粒子动画库用几行配置就能在网页上跑出彩屑、烟花、雪花这类动态背景并自带 React、Vue、Angular、Svelte、jQuery 等框架的官方组件。如果你不想自己啃 Canvas 动画循环、碰撞和帧率控制又不满足于静态背景图它就是最省事的那条路。它替你省掉了哪些事自己用 Canvas 写粒子效果至少要处理这几件事每帧的requestAnimationFrame循环、粒子出生与回收、位置越界后的重入逻辑、Retina 屏幕的像素缩放、多实例的生命周期管理。tsParticles 把这些全部封装在引擎内部核心代码在 engine/src/Core/ 的Container.ts、Particle.ts、Engine.ts里你只负责写一份 JSON 风格的配置。另外它按功能拆包不需要的形状、交互、插件就不装包体积由你自己说了算而不是被一个全家桶拖累首屏。装两个包跑通第一个粒子背景不需要建框架项目一个npm install就能开始npm install tsparticles/engine tsparticles/slimslim是最常用的组合包包含基础粒子、连线、常见交互。HTML 里放一个空 div然后初始化import { tsParticles } from tsparticles/engine; import { loadSlim } from tsparticles/slim; await loadSlim(tsParticles); await tsParticles.load({ id: tsparticles, options: { background: { color: #0d1117 }, particles: { number: { value: 60 }, move: { enable: true }, }, }, });注意顺序必须先loadSlim或对应的 bundle再load这是新手最常踩的坑后文还会再提一次。跑起来后是一个深色背景上缓慢漂移的粒子层粒子数量、颜色、速度都可以直接在options里改改完刷新即可看到结果。用 preset 三行换一套现成效果从零调参容易但更常见的做法是直接套官方预设然后只覆盖自己关心的字段。仓库里 presets/ 目录有 20 套matrix数字雨、snow雪、fire火焰、fireworks烟花、confetti彩屑、links连线等每套对应一个 npm 包比如tsparticles/preset-matrix。以 matrix 数字雨为例import { loadMatrixPreset } from tsparticles/preset-matrix; await loadMatrixPreset(tsParticles); await tsParticles.load({ id: tsparticles, options: { preset: matrix }, });想微调时在options里加字段就行preset 里没写的会保持默认写了的会被你的值覆盖。比如把粒子形状从字符换成方块options: { preset: fire, particles: { shape: { type: square } }, }这套预设打底 局部覆盖的模式适用于所有 preset也是官方 demo 页面的实现方式。想看每套预设长什么样直接翻 presets/ 下各目录的images/sample.png。让粒子跟着鼠标动静态背景看完会腻交互才是粒子背景的意义。interactivity一节声明什么事件触发什么模式modes一节再声明模式的具体参数。以悬停排斥 点击推入粒子为例options: { interactivity: { events: { onHover: { enable: true, mode: repulse }, onClick: { enable: true, mode: push }, }, modes: { repulse: { distance: 120, duration: 0.4 }, push: { quantity: 4 }, }, }, };除了repulse/push内置模式还有attract吸引、grab牵引、bubble气泡放大、bounce弹开等全部在 interactions/external/ 下有独立实现和说明文档。每种模式的可用参数距离、时长、影响半径都能在 markdown/Options.md 的 Interactivity 章节查到。框架项目怎么接每个框架的用法都遵循同一个模式装一个tsparticles/框架名组件包在组件的初始化回调里调用loadSlim或 preset 的加载函数把options传给组件属性。以 React 为例Next.js 项目用tsparticles/nextjs而非 react 包import Particles from tsparticles/react; import { loadSlim } from tsparticles/slim; const particlesInit async (engine) { await loadSlim(engine); }; Particles idtsparticles init{particlesInit} options{options} /其他框架同理组件源码都能对照仓库里的 demo/ 目录看比如 demo/react/、demo/vue3/、demo/angular/ 都是可直接pnpm install后跑起来的完整示例。Vue 2/3、Angular、Svelte、Preact、Solid、jQuery、Web Components 的组件包都列在 README 的框架清单 里包名即框架名按名取用即可。四个高频坑先知道能省半天load 顺序反了tsParticles.load()在loadSlim/loadMatrixPreset之前执行会报缺少插件。所有初始化函数必须 await 完再 load。配置里混用旧版字段名particles.js 时代的value_area、fps_limit这类蛇形命名已被density.value_area、fpsLimit等驼峰写法取代照抄老教程会静默失效。字段对照可查 markdown/pjsMigration.md。一上来就堆几千个粒子低端设备上帧率会崩。先看fpsLimit默认 60和粒子数量再往上加pauseOnBlur和pauseOnOutsideViewport两个开关能帮后台标签页省资源。响应式不是必须手写媒体查询配置里的responsive数组按breakpoint分段覆盖 options移动端少放点粒子就够了不用维护两套配置。想深入仓库里的三张地图配置全集markdown/Options.md 是根级选项总表markdown/Options/下每个选项组颜色、连线、轨迹、生命周期都有独立说明页按目录名找。预设目录presets/ 下每套效果都有README.md说明依赖哪些包和images/sample.png效果图抄配置前先看一眼。引擎源码engine/src/Core/ 里Container.ts管实例生命周期、Particle.ts管单个粒子、RenderManager.ts管绘制想理解这个选项为什么没生效时从这三个文件入手。如果要把整个仓库拉下来边跑边读命令如下git clone https://gitcode.com/GitHub_Trending/ts/tsparticles下一步建议打开 demo/vanilla_new/index.html 在浏览器里浏览全部预设的实时效果挑一个最接近你需求的 preset从它的 README 抄出依赖清单按本文第二节的方法装包改参10 分钟内就能得到可上线的背景层。【免费下载链接】tsparticlestsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components.项目地址: https://gitcode.com/GitHub_Trending/ts/tsparticles创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

x64dbg labellist 命令详解:在 Reference View 中列出并遍历用户自定义标签

x64dbg labellist 命令详解:在 Reference View 中列出并遍历用户自定义标签

x64dbg labellist 命令详解:在 Reference View 中列出并遍历用户自定义标签 【免费下载链接】x64dbg An open-source user mode debugger for Windows. Optimized for reverse engineering and malware analysis. 项目地址: https://gitcode.com/gh_mirrors/x6/x6…

2026/9/20 18:27:42 阅读更多 →
Cherry Studio 的 `@cherrystudio/ai-core`:`RuntimeExecutor.languageModel()` 公共 API 与统一模型解析链路解析

Cherry Studio 的 `@cherrystudio/ai-core`:`RuntimeExecutor.languageModel()` 公共 API 与统一模型解析链路解析

Cherry Studio 的 cherrystudio/ai-core:RuntimeExecutor.languageModel() 公共 API 与统一模型解析链路解析 【免费下载链接】cherry-studio 🍒 Cherry Studio 是一款支持多个 LLM 提供商的桌面客户端 项目地址: https://gitcode.com/CherryHQ/cherry…

2026/9/20 17:35:43 阅读更多 →
OpenHands 实战:TaoToken 跑通 SWE-bench Verified 全流程

OpenHands 实战:TaoToken 跑通 SWE-bench Verified 全流程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/9/19 16:55:36 阅读更多 →

最新新闻

排名做网站优化实战:告别拖沓的保姆级建站教程

排名做网站优化实战:告别拖沓的保姆级建站教程

排名做网站优化实战:告别拖沓的保姆级建站教程 改个需求建站公司拖一周?这种憋屈事儿,咱东北人最见不得。别急,今天这篇保姆级建站教程,直接教你怎么自己动手把排名做网站优化的事儿给办了。…

2026/9/20 20:42:09 阅读更多 →
OpenResearch:面向可复现科研的本地优先CLI方法论

OpenResearch:面向可复现科研的本地优先CLI方法论

1. 项目概述:一个被误读的开源研究协作范式“OpenResearch”这个词最近在开发者社区里频繁冒头,但很多人一看到就下意识联想到某个具体工具、CLI命令或者AI代码助手——比如把orx当成类似codex cli或claude cli那样的终端插件,甚至有人在飞书…

2026/9/20 20:42:05 阅读更多 →
(7,4)汉明码MATLAB仿真:编译码实现与误码率分析

(7,4)汉明码MATLAB仿真:编译码实现与误码率分析

简介:基于MATLAB的(7,4)汉明码编译码设计与仿真结果分析报告,面向通信工程专业学生及数字通信、纠错编码方向的初学者。该报告以通信原理课程设计为背景,系统讲解(7,4)汉明码的构造原理,包括监督矩阵H(37矩阵&#xff…

2026/9/20 20:42:05 阅读更多 →
Matlab复现MMC的HSS阻抗模型:从推导到代码的避坑指南

Matlab复现MMC的HSS阻抗模型:从推导到代码的避坑指南

1. 为什么我要啃MMC的HSS阻抗模型这块硬骨头做电力电子和柔性直流输电方向的朋友,对模块化多电平换流器(MMC)肯定不会陌生。但凡涉及到MMC并网系统的稳定性分析,尤其是高频振荡问题,谐波状态空间(Harmonic …

2026/9/20 20:42:05 阅读更多 →
Java性能优化实战:从原理到企业级应用

Java性能优化实战:从原理到企业级应用

1. 关于Java性能优化的行业现状在互联网行业里,Java作为主流开发语言已经存在二十余年。但有趣的是,不同规模企业的开发者在性能优化能力上存在明显差异。以我接触过的数百个Java项目为例,大厂出身的工程师往往对性能问题更为敏感&#xff0c…

2026/9/20 20:42:05 阅读更多 →
高光谱盲超分DBSR复现全记录:从退化估计到双域耦合的工程实践

高光谱盲超分DBSR复现全记录:从退化估计到双域耦合的工程实践

高光谱图像的超分复原这两年热度一直在涨,尤其是"盲超分"这个方向——所谓盲,就是你事先不知道退化核(模糊核噪声水平下采样方式),算法得自己把退化过程估出来再复原。这个设定比非盲超分难得多,…

2026/9/20 20:42:05 阅读更多 →

日新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/20 0:00:46 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/20 0:00:46 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/20 0:00:46 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/19 23:01:36 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/19 17:50:38 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/19 23:35:34 阅读更多 →