Particles.js

2024-06-28 20:26:31 138
Particles.js 是一个轻量级的 JavaScript 库,用于在网页上创建交互式粒子动画效果。它可以帮助开发者轻松地在网站上实现粒子系统,并能够响应用户的鼠标动作和其他事件。

特点

  • 轻量级:仅有数十KB,加载速度快。
  • 高可定制性:通过 JSON 配置文件可以定制粒子的颜色、形状、大小、数量、运动方向等。
  • 响应用户交互:支持鼠标事件,如悬停、点击等。
  • 兼容性好:支持大多数现代浏览器,基于 HTML5 Canvas 实现。

使用场景

  • 背景动画:用于网站的背景动画,使页面更加生动有趣。
  • 交互效果:添加到按钮、图片等元素上,增强用户体验。
  • 数据可视化:通过粒子效果展示数据变化,如统计图表的动态背景。

安装方式

可以通过以下几种方式安装和使用Particles.js:

  1. CDN

    <script src="https://cdn.jsdelivr.net/npm/particles.js"></script>
    
  2. 下载并本地引用: 从官方GitHub下载并引用particles.js文件。

  3. npm安装

    npm install particles.js
    

使用示例

在网页上创建一个粒子效果:

  1. 创建一个容器:

    <div id="particles-js"></div>
    
  2. 初始化粒子效果:

    <script src="particles.js"></script>
    <script>
      particlesJS('particles-js', {
        "particles": {
          "number": {
            "value": 80,
            "density": {
              "enable": true,
              "value_area": 800
            }
          },
          "color": {
            "value": "#ffffff"
          },
          "shape": {
            "type": "circle",
            "stroke": {
              "width": 0,
              "color": "#000000"
            },
            "polygon": {
              "nb_sides": 5
            }
          },
          "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": true
      });
    </script>
    

常用API介绍

  • particles.number.value:设置粒子的数量。
  • particles.color.value:设置粒子的颜色,可以是字符串或RGB、HSL对象。
  • particles.shape.type:设置粒子的形状,如"circle"、"triangle"、"star"等。
  • particles.opacity.value:设置粒子的透明度,值范围为0-1。
  • particles.size.value:设置粒子的大小。
  • particles.line_linked.enable:启用粒子之间的连线效果。
  • particles.move.direction:设置粒子的运动方向。

官方资料