弄個知乎的粒子動態背景_實踐particles.js

很久沒登陸知乎,發現他們的登陸頁面粒子動態效果蠻炫的,查一下代碼用了Particles.js基於Canvas畫布建立粒子顆粒效果。
上圖
上圖:
 
感受有比格,就照着弄了一個,玩玩。
 
github: https://github.com/VincentGarreau/particles.js/

操做過程:javascript

網上有基本流程,能夠參考一下,不過直接用在登陸頁面 會有小bug,須要調整下。css

一、首先在頁面中引入particles.js文件。java

<script src="js/particles.js"></script>

二、在頁面中使用一個div來做爲放置粒子的容器。[通常放最底部,css 須要改進一下]git

複製代碼
<div id="particles"></div>
<style type="text/css">
    #particles {
        position: absolute;
        top: 0;
        width: 100%;
        z-index: -1;   //這個z-index 要是不設置 會對登陸表單的點擊產生干擾,會去搶風頭,很差好作一個安靜的背景。
        background-color: #26AFE3;
    }
</style>
複製代碼

 


三、加載配置文件:  網上講 用load()方法 還得弄個配置的json文件,光路徑 就搞殘了我。github

                  參考官方demo  http://codepen.io/VincentGarreau/pen/pnlsochrome

                  直接在js裏面寫配置json

複製代碼
<script type="text/javascript">
//    particlesJS.load('particles', './js/app/particles.json', function() {
//        console.log('callback - particles.js config loaded');
//    });

particlesJS("particles", {
    "particles": {
        "number": {
            "value": 30,
            "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": 50,
                "size_min": 0.1,
                "sync": false
            }
        },
        "line_linked": {
            "enable": true,
            "distance": 300,
            "color": "#ffffff",
            "opacity": 0.4,
            "width": 2
        },
        "move": {
            "enable": true,
            "speed": 8,
            "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": false,
                "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
});
</script>
複製代碼

 


4,配置參數 option 以及使用:  option  github 官網頁面就有詳情。控制粒子數量 運動速度 什麼的canvas

   particles 用起來仍是有點問題的,在chrome 下載文件後再切換到這個頁面 就殘廢了。等解決方法。app

相關文章
相關標籤/搜索