溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

JS庫中的Particles.js在vue上的運(yùn)用案例分析

發(fā)布時(shí)間:2020-10-15 01:20:58 來源:腳本之家 閱讀:236 作者:mrr 欄目:web開發(fā)

知乎的首頁后面的粒子動效總覺得很炫酷,搜了一下,發(fā)現(xiàn)是用particles.js編寫的。剛好目前的項(xiàng)目是利用vue框架的,兩個(gè)湊在一起學(xué)了。

講道理,這個(gè)用得好的話,頁面是可以很酷的,譬如我現(xiàn)在寫的項(xiàng)目

JS庫中的Particles.js在vue上的運(yùn)用案例分析

酷酷的登錄頁

嘻嘻~

安裝particles.js

npm install --save particles.js

配置particles.js

1.data

這個(gè)data是用于控制粒子在頁面中所呈現(xiàn)的狀態(tài)。

{
"particles": {
 "number": {
 "value": 60,
 "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": 4,
 "direction": "none",
 "random": false,
 "straight": false,
 "out_mode": "out",
 "bounce": false,
 "attract": {
  "enable": false,
  "rotateX": 100,
  "rotateY": 1200
 }
 }
},
"interactivity": {
 "detect_on": "Window",
 "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
}

2.template

這個(gè)就是動態(tài)粒子要展示的位置。

<div id="particles"></div>

3.script

因?yàn)樯婕暗絛om樹,所以必須在掛載結(jié)束后初始化particles.js。第一個(gè)參數(shù)id就是你在template上取得id名,像我要寫的話就是particles。第二個(gè)參數(shù)是你的data存放的路徑,個(gè)人建議使用相對路徑。

mounted(){
 particlesJS.load('id','path to your particles.data');
}

4.style

#particles{
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #b61924;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: 50% 50%;
}

講到這里會發(fā)現(xiàn),還有一個(gè)最重要的點(diǎn)沒講出來,恩,就是particles.js 的引入。當(dāng)你的使用范圍比較小時(shí),可以直接在當(dāng)前vue文件的script中引入,即

//vue文件
import particles from 'particles.js'

又或者你覺得這樣不好管理,一定要放在main文件中也可以

//main文件
import particles from 'particles.js'
Vue.use(particles)

最后呈現(xiàn)的效果如下

JS庫中的Particles.js在vue上的運(yùn)用案例分析

總結(jié)

以上所述是小編給大家介紹的JS庫中的Particles.js在vue上的運(yùn)用案例分析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI