时间: 2020-09-1|tag: 46次围观|0 条评论

最近在使用Vue+Element开发一个后台管理系统,想找一个好看点的素材当背景,突然找到particles.js(传送门:https://github.com/VincentGarreau/particles.js/),也就是传说的粒子效果。于是想使用它当作登陆背景。

先上效果图如下

Vue项目使用particles.js粒子效果以及销毁插图
效果图
  1. 安装particles.js
npm install --save particles.js
  1. 在main.js中引入
//main.js文件import VueParticles from 'vue-particles'Vue.use(VueParticles)
  1. 在需要的页面中直接使用
<vue-particles   class="vue-particles"   color="#dedede"   :particleOpacity="0.7"   :particlesNumber="80"   shapeType="star"   :particleSize="4"   linesColor="#dedede"   :linesWidth="1"   :lineLinked="true"   :lineOpacity="0.4"   :linesDistance="150"   :moveSpeed="3"   :hoverEffect="true"   hoverMode="grab"   :clickEffect="true"   clickMode="push"></vue-particles>
  • 对应的属性含义
color: String类型。默认'#dedede'。粒子颜色。particleOpacity: Number类型。默认0.7。粒子透明度。particlesNumber: Number类型。默认80。粒子数量。shapeType: String类型。默认'circle'。可用的粒子外观类型有:"circle","edge","triangle", "polygon","star"。particleSize: Number类型。默认80。单个粒子大小。linesColor: String类型。默认'#dedede'。线条颜色。linesWidth: Number类型。默认1。线条宽度。lineLinked: 布尔类型。默认true。连接线是否可用。lineOpacity: Number类型。默认0.4。线条透明度。linesDistance: Number类型。默认150。线条距离。moveSpeed: Number类型。默认3。粒子运动速度。hoverEffect: 布尔类型。默认true。是否有hover特效。hoverMode: String类型。默认true。可用的hover模式有: "grab", "repulse", "bubble"。clickEffect: 布尔类型。默认true。是否有click特效。clickMode: String类型。默认true。可用的click模式有: "push", "remove", "repulse", "bubble"
  • 半成品效果图
Vue项目使用particles.js粒子效果以及销毁插图1
半成品

如图可以看得到粒子效果在上面,而登录框则被挤到下面,因此需要通过css定位来调整位置,使其达到想要的效果。

/*  css布局  */.vue-particles{  position: absolute;  width: 100%;  height: 100%;}
  • 销毁粒子效果

粒子效果在登陆后默认会继续运行,会导致浏览器占用资源过高,查看其源码后发现作者为其写了一个销毁粒子函数,因此可以在登陆后经行手动销毁粒子效果,释放资源。

beforeDestroy(){    if(pJSDom && pJSDom.length > 0){                pJSDom.forEach(pJSDomItem=>{                       pJSDomItem.pJS.fn.vendors.destroypJS()                })         }  }

后记:粒子销毁后如果用户退出登陆返回到登陆页面,粒子效果将不再渲染,这个问题目前还没有解决,到时候要是解决了再来补充吧。

文章转载于:https://www.jianshu.com/p/0c25205b28f0

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《Vue项目使用particles.js粒子效果以及销毁
   

还没有人抢沙发呢~