JS库之ParticlesJS使用简介

发布时间 - 2026-01-11 03:13:30    点击率:

particles.js

A lightweight JavaScript library for creating particles.

一个轻量级的创建粒子背景的 JavaScript 库

我们先来看一下效果图:

标准版:

 

星空版:

 

泡泡版:

 

下雪版:

利用这个我们可以做些什么呢?

我觉得这个比较适合用在无背景的页面,或者说找不到合适的图片来做背景,那么,我们都可以使用这个。

比如说:

或者

嗯,效果都挺不错的。

那么,下面将介绍如何使用 particles.js 。

particlesJS 开源在Github上:https://github.com/VincentGarreau/particles.js

这个项目中有提供demo,可以直接下载这个项目,打开demo里面的index.html文件,即可看到效果。

那么,如果我们要构建自己的项目,该如何引入文件呢?

建议如下:

<!DOCTYPE html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <title>particles.js</title>
 <meta name="description" content="particles.js is a lightweight JavaScript library for creating particles.">
 <meta name="author" content="Vincent Garreau" />
 <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no">
 <link rel="stylesheet" media="screen" href="css/style.css" rel="external nofollow" >
</head>
<body>
<div id="particles-js"></div>
<!-- scripts -->
<script src="js/particles.js"></script>
<script src="js/app.js"></script>
</body>
</html>

particles.js 是它的库,我们肯定是要引入的,app.js 是参数配置文件,我们也要引入,而 demo 中的 stats.js 就没有必要引入了。

style.css 我们也可以引入,背景颜色是在css中设置的。

基于这个模板,我们可以在上面添加我们想要实现的功能,比如说注册登录功能,需要注意的是:
用 div 来封装我们要实现的功能代码块,并且在 css 中为这个 div 设置绝对定位。

下面介绍参数配置文件 app.js 文件的使用:

particles.number.value : 粒子的数量

particles.number.density : 粒子的稀密程度

particles.number.density.enable : 启用粒子的稀密程度 (true 或 false)

particles.number.density.value_area : 每一个粒子占据的空间(启用粒子密度,才可用)

particles.color.value : 粒子的颜色 (支持16进制”#b61924”,rgb”{r:182, g:25, b:36}”,hsl,以及random)

particles.shape.type: 粒子的形状 (”circle” “edge” “triangle” “polygon” “star” “image”)

particles.opacity.value: 粒子的透明度

particles.size.anim.enable: 是否启用粒子速度(true/false)

particles.size.anim.speed: 粒子动画频率

particles.size.anim.sync: 粒子运行速度与动画是否同步

particles.move.speed: 粒子移动速度

大家可以根据这些配置文件,配置自己喜欢的背景出来,下面提供两份完整配置文件 app.js。

配置文件一(经典背景):

{
 "particles": {
 "number": {
  "value": 80,
  "density": {
  "enable": true,
  "value_area": 800
  }
 },
 "color": {
  "value": "#ffffff"
 },
 "shape": {
  "type": "polygon",
  "stroke": {
  "width": 0,
  "color": "#000000"
  },
  "polygon": {
  "nb_sides": 5
  },
  "image": {
  "src": "img/github.svg",
  "width": 100,
  "height": 100
  }
 },
 "opacity": {
  "value": 0.5,
  "random": false,
  "anim": {
  "enable": false,
  "speed": 1,
  "opacity_min": 0.1,
  "sync": false
  }
 },
 "size": {
  "value": 3,
  "random": true,
  "anim": {
  "enable": false,
  "speed": 40,
  "size_min": 0.1,
  "sync": false
  }
 },
 "line_linked": {
  "enable": true,
  "distance": 150,
  "color": "#ffffff",
  "opacity": 0.4,
  "width": 1
 },
 "move": {
  "enable": true,
  "speed": 6,
  "direction": "none",
  "random": false,
  "straight": false,
  "out_mode": "out",
  "bounce": false,
  "attract": {
  "enable": false,
  "rotateX": 600,
  "rotateY": 1200
  }
 }
 },
 "interactivity": {
 "detect_on": "canvas",
 "events": {
  "onhover": {
  "enable": true,
  "mode": "repulse"
  },
  "onclick": {
  "enable": true,
  "mode": "push"
  },
  "resize": true
 },
 "modes": {
  "grab": {
  "distance": 400,
  "line_linked": {
   "opacity": 1
  }
  },
  "bubble": {
  "distance": 400,
  "size": 40,
  "duration": 2,
  "opacity": 8,
  "speed": 3
  },
  "repulse": {
  "distance": 200,
  "duration": 0.4
  },
  "push": {
  "particles_nb": 4
  },
  "remove": {
  "particles_nb": 2
  }
 }
 },
 "retina_detect": false
}

配置文件二(星空背景):

{
 "particles": {
 "number": {
  "value": 160,
  "density": {
  "enable": true,
  "value_area": 800
  }
 },
 "color": {
  "value": "#ffffff"
 },
 "shape": {
  "type": "circle",
  "stroke": {
  "width": 0,
  "color": "#000000"
  },
  "polygon": {
  "nb_sides": 5
  },
  "image": {
  "src": "img/github.svg",
  "width": 100,
  "height": 100
  }
 },
 "opacity": {
  "value": 1,
  "random": true,
  "anim": {
  "enable": true,
  "speed": 1,
  "opacity_min": 0,
  "sync": false
  }
 },
 "size": {
  "value": 3,
  "random": true,
  "anim": {
  "enable": false,
  "speed": 4,
  "size_min": 0.3,
  "sync": false
  }
 },
 "line_linked": {
  "enable": false,
  "distance": 150,
  "color": "#ffffff",
  "opacity": 0.4,
  "width": 1
 },
 "move": {
  "enable": true,
  "speed": 1,
  "direction": "none",
  "random": true,
  "straight": false,
  "out_mode": "out",
  "bounce": false,
  "attract": {
  "enable": false,
  "rotateX": 600,
  "rotateY": 600
  }
 }
 },
 "interactivity": {
 "detect_on": "canvas",
 "events": {
  "onhover": {
  "enable": true,
  "mode": "bubble"
  },
  "onclick": {
  "enable": true,
  "mode": "repulse"
  },
  "resize": true
 },
 "modes": {
  "grab": {
  "distance": 400,
  "line_linked": {
   "opacity": 1
  }
  },
  "bubble": {
  "distance": 250,
  "size": 0,
  "duration": 2,
  "opacity": 0,
  "speed": 3
  },
  "repulse": {
  "distance": 400,
  "duration": 0.4
  },
  "push": {
  "particles_nb": 4
  },
  "remove": {
  "particles_nb": 2
  }
 }
 },
 "retina_detect": true
}

总结

以上所述是小编给大家介绍的ParticlesJS使用简介,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# particlesjs  # 使用  # JS库particles.js创建超炫背景粒子插件(附源码下载)  # JS库之Three.js 简易入门教程(详解之一)  # JS库中的Particles.js在vue上的运用案例分析  # JS库之Particles.js中文开发手册及参数详解  # JS库之Waypoints的用法详解  # 配置文件  # 我们可以  # 小编  # 标准版  # 自己的  # 的是  # 是在  # 我觉得  # 在此  # 也要  # 找不到  # 中有  # 就没  # 给大家  # 可以直接  # 有必要  # 该如何  # 什么呢  # 在上面  # 或者说 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: java获取注册ip实例  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel怎么使用artisan命令缓存配置和视图  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  html5如何实现懒加载图片_ intersectionobserver api用法【教程】  php485函数参数是什么意思_php485各参数详细说明【介绍】  javascript中闭包概念与用法深入理解  Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?  html5如何设置样式_HTML5样式设置方法与CSS应用技巧【教程】  Laravel如何记录自定义日志?(Log频道配置)  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  高防服务器:AI智能防御DDoS攻击与数据安全保障  如何在景安服务器上快速搭建个人网站?  Laravel怎么使用Collection集合方法_Laravel数组操作高级函数pluck与map【手册】  网站建设保证美观性,需要考虑的几点问题!  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何在万网开始建站?分步指南解析  详解Android图表 MPAndroidChart折线图  如何快速使用云服务器搭建个人网站?  如何在阿里云香港服务器快速搭建网站?  Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】  成都网站制作公司哪家好,四川省职工服务网是做什么用?  Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Python自然语言搜索引擎项目教程_倒排索引查询优化案例  Laravel怎么在Blade中安全地输出原始HTML内容  浅述节点的创建及常见功能的实现  佐糖AI抠图怎样调整抠图精度_佐糖AI精度调整与放大细化操作【攻略】  如何在云主机上快速搭建网站?  惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?  大型企业网站制作流程,做网站需要注册公司吗?  网易LOFTER官网链接 老福特网页版登录地址  Laravel如何保护应用免受CSRF攻击?(原理和示例)  如何用腾讯建站主机快速创建免费网站?  EditPlus中的正则表达式实战(5)  今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】  如何在阿里云购买域名并搭建网站?  实例解析angularjs的filter过滤器  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  浅谈javascript alert和confirm的美化  如何在Ubuntu系统下快速搭建WordPress个人网站?  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  JS中对数组元素进行增删改移的方法总结  Python正则表达式进阶教程_复杂匹配与分组替换解析  如何在建站宝盒中设置产品搜索功能?  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Win11怎么设置默认图片查看器_Windows11照片应用关联设置  javascript基于原型链的继承及call和apply函数用法分析  JavaScript中的标签模板是什么_它如何扩展字符串功能  大同网页,大同瑞慈医院官网?