使用 particles.js 粒子效果 Demo

GitHub 里面有詳細(xì)的 API 使用方法
作者示例 Demo

結(jié)構(gòu)

image.png

源碼

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>particles Demo</title>
    <style class="cp-pen-styles">
        #particles-js {
            position: absolute;
            width: 100vw;
            height: 100vh;
            z-index: -1;
        }

        body {
            background: #171e2a;
        }
    </style>
</head>

<body>
    <div id="particles-js">
    </div>
    <script src='./particles.min.js'></script>
    <script>
    //particles-js 為 HTML-DOM  ID
    particlesJS("particles-js", {
        //顆粒參數(shù)
        "particles": {
            "number": {
                //離粒子顯示的數(shù)量值
                "value": 100,
                //密度
                "density": {
                    //激活
                    "enable": true,
                    //值區(qū) 值越小 顯示的越多
                    "value_area": 300
                }
            },
            "color": {
                //下面是各種可接收值的格式
                //"#b61924" 
                // {r:182, g:25, b:36} 
                // {h:356, s:76, l:41} 
                // ["#b61924", "#333333", "999999"] 
                // "random"
                "value": "#ffffff"
            },
            //形狀
            "shape": {
                //下面是各種可接收值的格式 都可以與下面的 nb_sides 邊的數(shù)量結(jié)合使用
                //"circle"  園
                // "edge" 有邊的 看起來像是嵌套的一種圖形
                // "triangle" 三角形
                // "polygon" 多邊形
                // "star" 星星
                // "image" 圖片 對應(yīng)下面的 image 參數(shù)
                // ["circle", "triangle", "image"]  數(shù)組混合參數(shù) 這樣出來的形狀就像是隨機的多個形狀
                "type": "circle",
                //
                "stroke": {
                    "width": 1,
                    "color": "#fff"
                },
                //多邊形 配合上面的形狀使用
                "polygon": {
                    //邊數(shù)
                    "nb_sides": 5
                },
                //圖片參數(shù) 配合上面的形狀 type 為 image 使用
                "image": {
                    "src": "http://www.dynamicdigital.us/wp-content/uploads/2013/02/starburst_white_300_drop_2.png",
                    "width": 100,
                    "height": 100
                }
            },
            //透明度
            "opacity": {
                //數(shù)字(0到1)
                "value": 0.5,
                //布爾值
                "random": true,
                //動畫參數(shù)
                "anim": {
                    //激活
                    "enable": false,
                    //速度
                    "speed": 1,
                    //時間
                    "opacity_min": 0.1,
                    //同步 
                    //布爾值
                    "sync": false
                }
            },
            //尺寸
            "size": {
                //粒子尺寸的數(shù)值 
                //注意:不可過大會報錯  這個數(shù)值應(yīng)該是計算推算出的一個大致的區(qū)間
                "value": 1,
                "random": false,
                "anim": {
                    "enable": false,
                    "speed": 20,
                    "size_min": 1,
                    "sync": false
                }
            },
            //連接線
            "line_linked": {
                //激活
                "enable": false,
                //距離
                "distance": 50,
                "color": "#ffffff",
                "opacity": 0.6,
                "width": 1
            },
            //移動
            "move": {
                "enable": true,
                //移動的速度
                "speed": 10,
                //移動的方向
                //下面是各種可接收值
                //"none" 
                // "top" 
                // "top-right" 
                // "right" 
                // "bottom-right" 
                // "bottom" 
                // "bottom-left" 
                // "left" 
                // "top-left"
                "direction": "none",
                "random": true,
                //直線運動 數(shù)值為 true 粒子動效不好看
                //布爾值
                "straight": false,
                //輸出模式
                //下面是各種可接收值
                //"out" 跑到外面
                //"bounce"  反彈
                "out_mode": "out",
                //粒子之間碰撞是否反彈
                //布爾值
                "bounce": false,
                //吸引 激活之后粒子的方向會有些雜亂無章
                "attract": {
                    "enable": false,
                    "rotateX": 300,
                    "rotateY": 1200
                }
            }
        },
        //互動性
        "interactivity": {
            //檢測
            //下面是各種可接收值
            //"canvas", "window"
            "detect_on": "canvas",
            //添加各種事件
            "events": {
                //鼠標(biāo)經(jīng)過
                "onhover": {
                    "enable": false,
                    //模式
                    //下面是各種可接收值
                    //"grab" 抓住  顯示的是粒子間的連接線
                    // "bubble" 氣泡 顯示的是放大版的上面的 image src 的圖片 
                    // "repulse" 淺水 使粒子無法進入鼠標(biāo)固定的范圍
                    // ["grab", "bubble"]  還可以用數(shù)組的形式來設(shè)置
                    "mode": "bubble"
                },
                //點擊事件
                "onclick": {
                    "enable": false,
                    //下面是各種可接收值
                    //"push"  增加粒子
                    // "remove"  刪除粒子
                    // "bubble" 
                    // "repulse" 
                    // ["push", "repulse"]
                    "mode": "repulse"
                },
                //調(diào)整大小
                //布爾值
                "resize": false
            },
            //給上面的可設(shè)置的模式增加更多的的參數(shù)設(shè)置
            "modes": {
                "grab": {
                    //距離
                    "distance": 150,
                    //連接線
                    "line_linked": {
                        "opacity": 1
                    }
                },
                "bubble": {
                    "distance": 200,
                    //尺寸
                    "size": 20,
                    //持續(xù)的時間
                    "duration": 2,
                    "opacity": 8,
                    //速度
                    "speed": 3
                },
                "repulse": {
                    "distance": 200,
                    "duration": 0.2
                },
                //增加
                "push": {
                    //顆粒面積
                    "particles_nb": 1
                },
                //去除
                "remove": {
                    //顆粒面積
                    "particles_nb": 2
                }
            }
        },
        "retina_detect": true //視網(wǎng)膜檢測
    });
    </script>
</body>

</html>

github Demo 地址

https://github.com/sunxiaochuan/particlesDemo

效果 Gif 圖

  • 手機端
9.gif
  • PC 端
10.gif
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末胯舷,一起剝皮案震驚了整個濱河市溶其,隨后出現(xiàn)的幾起案子衷掷,更是在濱河造成了極大的恐慌蜓肆,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鼻忠,死亡現(xiàn)場離奇詭異竟宋,居然都是意外死亡,警方通過查閱死者的電腦和手機宋列,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來评也,“玉大人虚茶,你說我怎么就攤上這事〕鸩危” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵婆殿,是天一觀的道長诈乒。 經(jīng)常有香客問我,道長婆芦,這世上最難降的妖魔是什么怕磨? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任喂饥,我火速辦了婚禮,結(jié)果婚禮上肠鲫,老公的妹妹穿的比我還像新娘员帮。我一直安慰自己,他們只是感情好导饲,可當(dāng)我...
    茶點故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布捞高。 她就那樣靜靜地躺著,像睡著了一般渣锦。 火紅的嫁衣襯著肌膚如雪硝岗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天袋毙,我揣著相機與錄音型檀,去河邊找鬼。 笑死听盖,一個胖子當(dāng)著我的面吹牛胀溺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播皆看,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼仓坞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了悬蔽?” 一聲冷哼從身側(cè)響起扯躺,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蝎困,沒想到半個月后录语,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡禾乘,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年澎埠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片始藕。...
    茶點故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡蒲稳,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出伍派,到底是詐尸還是另有隱情江耀,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布诉植,位于F島的核電站祥国,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜舌稀,卻給世界環(huán)境...
    茶點故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一啊犬、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧壁查,春花似錦觉至、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至嫉到,卻和暖如春沃暗,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背何恶。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工孽锥, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人细层。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓惜辑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親疫赎。 傳聞我的和親對象是個殘疾皇子盛撑,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,472評論 2 348