zoukankan      html  css  js  c++  java
  • 特效背景粒子插件particles.js

    效果图如下:

     放入页面中的HTML:

    <div id="particles-js"></div>
    
    <script src="particles.js"></script>

    CSS 可自行修改

    canvas {
      display: block;
      vertical-align: bottom;
    }
    /* ---- particles.js container ---- */
    #particles-js {
      position: absolute;
      top: 0;
      left: 0;
      bottom: 0;
      right: 0;
      width: 100%;
      height: 100%;
    }

    Javascript代码:

    <script>
        /* ---- particles.js config ---- */
    
    particlesJS("particles-js", {
      "particles": {
        "number": {
          "value":80,
          "density": {
            "enable": true,
            "value_area": 1000
          }
        },
        "color": {
          "value": "#A9B7B8"
        },
        "shape": {
          "type": "circle",
          "stroke": {
            "width": 0,
            "color": "#000"
          },
          "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": "#A9B7B8",
          "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 ---- */

    本地奔跑是可以跑起来的,官网介绍应该如下使用:

    app.js

    /* particlesJS.load(@dom-id, @path-json, @callback (optional)); */
    particlesJS.load('particles-js', 'assets/particles.json', function() {
      console.log('callback - particles.js config loaded');
    });

    particles.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": 10,
          "random": true,
          "anim": {
            "enable": false,
            "speed": 80,
            "size_min": 0.1,
            "sync": false
          }
        },
        "line_linked": {
          "enable": true,
          "distance": 300,
          "color": "#ffffff",
          "opacity": 0.4,
          "width": 2
        },
        "move": {
          "enable": true,
          "speed": 12,
          "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": false,
            "mode": "repulse"
          },
          "onclick": {
            "enable": true,
            "mode": "push"
          },
          "resize": true
        },
        "modes": {
          "grab": {
            "distance": 800,
            "line_linked": {
              "opacity": 1
            }
          },
          "bubble": {
            "distance": 800,
            "size": 80,
            "duration": 2,
            "opacity": 0.8,
            "speed": 3
          },
          "repulse": {
            "distance": 400,
            "duration": 0.4
          },
          "push": {
            "particles_nb": 4
          },
          "remove": {
            "particles_nb": 2
          }
        }
      },
      "retina_detect": true
    }

    Options:

    keyoption type / notesexample
    particles.number.value number 40
    particles.number.density.enable boolean true / false
    particles.number.density.value_area number 800
    particles.color.value HEX (string) 
    RGB (object) 
    HSL (object) 
    array selection (HEX) 
    random (string)
    "#b61924" 
    {r:182, g:25, b:36} 
    {h:356, s:76, l:41} 
    ["#b61924", "#333333", "999999"] 
    "random"
    particles.shape.type string 
    array selection
    "circle" 
    "edge" 
    "triangle" 
    "polygon" 
    "star" 
    "image" 
    ["circle", "triangle", "image"]
    particles.shape.stroke.width number 2
    particles.shape.stroke.color HEX (string) "#222222"
    particles.shape.polygon.nb_slides number 5
    particles.shape.image.src path link 
    svg / png / gif / jpg
    "assets/img/yop.svg" 
    "http://mywebsite.com/assets/img/yop.png"
    particles.shape.image.width number 
    (for aspect ratio)
    100
    particles.shape.image.height number 
    (for aspect ratio)
    100
    particles.opacity.value number (0 to 1) 0.75
    particles.opacity.random boolean true / false
    particles.opacity.anim.enable boolean true / false
    particles.opacity.anim.speed number 3
    particles.opacity.anim.opacity_min number (0 to 1) 0.25
    particles.opacity.anim.sync boolean true / false
    particles.size.value number 20
    particles.size.random boolean true / false
    particles.size.anim.enable boolean true / false
    particles.size.anim.speed number 3
    particles.size.anim.size_min number 0.25
    particles.size.anim.sync boolean true / false
    particles.line_linked.enable boolean true / false
    particles.line_linked.distance number 150
    particles.line_linked.color HEX (string) #ffffff
    particles.line_linked.opacity number (0 to 1) 0.5
    particles.line_linked.width number 1.5
    particles.move.enable boolean true / false
    particles.move.speed number 4
    particles.move.direction string "none" 
    "top" 
    "top-right" 
    "right" 
    "bottom-right" 
    "bottom" 
    "bottom-left" 
    "left" 
    "top-left"
    particles.move.random boolean true / false
    particles.move.straight boolean true / false
    particles.move.out_mode string 
    (out of canvas)
    "out" 
    "bounce"
    particles.move.bounce boolean 
    (between particles)
    true / false
    particles.move.attract.enable boolean true / false
    particles.move.attract.rotateX number 3000
    particles.move.attract.rotateY number 1500
    interactivity.detect_on string "canvas", "window"
    interactivity.events.onhover.enable boolean true / false
    interactivity.events.onhover.mode string 
    array selection
    "grab" 
    "bubble" 
    "repulse" 
    ["grab", "bubble"]
    interactivity.events.onclick.enable boolean true / false
    interactivity.events.onclick.mode string 
    array selection
    "push" 
    "remove" 
    "bubble" 
    "repulse" 
    ["push", "repulse"]
    interactivity.events.resize boolean true / false
    interactivity.events.modes.grab.distance number 100
    interactivity.events.modes.grab.line_linked.opacity number (0 to 1) 0.75
    interactivity.events.modes.bubble.distance number 100
    interactivity.events.modes.bubble.size number 40
    interactivity.events.modes.bubble.duration number 
    (second)
    0.4
    interactivity.events.modes.repulse.distance number 200
    interactivity.events.modes.repulse.duration number 
    (second)
    1.2
    interactivity.events.modes.push.particles_nb number 4
    interactivity.events.modes.push.particles_nb number 4
    retina_detect boolean true / false

     

    最后附带一下官网地址:

    官方github:https://github.com/VincentGarreau/particles.js/

    demo制作器:https://codepen.io/VincentGarreau/pen/pnlso

    感谢一下最开始搜索到的知识共享者作者id:https://www.cnblogs.com/zx-admin/p/7030978.html

    至此,特效粒子效果完成~╰(*°▽°*)╯

    我就是我,记性不好,那就用写的吧。
  • 相关阅读:
    计算机网络基础
    OA项目(MVC项目)
    修改XML的节点内容
    项目实战-电商(网上书城)
    DataTables ajax bootstrap 分页/搜索/排序/常见问题
    DNS服务器解析域名的过程
    bootstrap 模态框
    QuickChm 制作chm文档 chm文档脚本错误,乱码
    poi 读取word文档
    commons -lang(2) RandomStringUtils RandomUtils
  • 原文地址:https://www.cnblogs.com/rainy0496/p/8669739.html
Copyright © 2011-2022 走看看