【问题标题】:Particles do not appear on the particles div粒子不会出现在粒子 div 上
【发布时间】:2019-06-01 07:53:07
【问题描述】:

我正在尝试使用particles.js 作为网站的背景。目前,粒子 div 存在,但粒子未出现。我该如何解决这个问题?

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <link rel="stylesheet" href="style.css">
    <meta charset="UTF-8">
    <title>Title</title>
</head>

<body>
    <div id="particles-js"></div>
    <script type="text/javascript" src="./particles.js-master/demo/js/app.js"></script>
    <script type="text/javascript" src="./particles.js-master/particles.js"></script>
</body>
</html>

style.css

body {
    background: #000;
    margin: 0;
    padding: 0;
    height: 100vh;
}

#particles-js {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

我知道particles-js 存在是因为改变它的背景颜色会对页面产生影响。

【问题讨论】:

    标签: javascript html css particles.js


    【解决方案1】:

    您还需要添加粒子 js 配置才能使其正常工作。您可以从https://vincentgarreau.com/particles.js/创建和下载 json 配置

    <script type="text/javascript">
     particlesJS("particles-js",<strong>Your JSON here</strong>);
    </script>
    

    例如,我的 json 可能如下所示:

     {
     "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
     },
     "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": true
    }
    

    【讨论】:

      【解决方案2】:
      /* ---- particles.js config ---- */
      
      particlesJS("particles-js", {
        "particles": {
          "number": {
            "value": 380,
            "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": 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": "grab"
            },
            "onclick": {
              "enable": true,
              "mode": "push"
            },
            "resize": true
          },
          "modes": {
            "grab": {
              "distance": 140,
              "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
      });
      
      
      /* ---- stats.js config ---- */
      
      var count_particles, stats, update;
      stats = new Stats;
      stats.setMode(0);
      stats.domElement.style.position = 'absolute';
      stats.domElement.style.left = '0px';
      stats.domElement.style.top = '0px';
      document.body.appendChild(stats.domElement);
      count_particles = document.querySelector('.particles-js');
      update = function() {
        stats.begin();
        stats.end();
        if (window.pJSDom[0].pJS.particles && window.pJSDom[0].pJS.particles.array) {
          count_particles.innerText = window.pJSDom[0].pJS.particles.array.length;
        }
        requestAnimationFrame(update);
      };
      requestAnimationFrame(update);
      

      【讨论】:

        【解决方案3】:

        非常感谢您的详细回复。但万一有人再次看到这个问题,问题是我的广告拦截器不允许粒子 javascript。

        【讨论】:

          猜你喜欢
          • 2022-12-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-02-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多