JS库中的Particles.js在vue上的运用案例分析


Posted in Javascript onSeptember 13, 2017

知乎的首页后面的粒子动效总觉得很炫酷,搜了一下,发现是用particles.js编写的。刚好目前的项目是利用vue框架的,两个凑在一起学了。

讲道理,这个用得好的话,页面是可以很酷的,譬如我现在写的项目

JS库中的Particles.js在vue上的运用案例分析

酷酷的登录页

嘻嘻~

安装particles.js

npm install --save particles.js

配置particles.js

1.data

这个data是用于控制粒子在页面中所呈现的状态。

{
"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

这个就是动态粒子要展示的位置。

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

3.script

因为涉及到dom树,所以必须在挂载结束后初始化particles.js。第一个参数id就是你在template上取得id名,像我要写的话就是particles。第二个参数是你的data存放的路径,个人建议使用相对路径。

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%;
}

讲到这里会发现,还有一个最重要的点没讲出来,恩,就是particles.js 的引入。当你的使用范围比较小时,可以直接在当前vue文件的script中引入,即

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

又或者你觉得这样不好管理,一定要放在main文件中也可以

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

最后呈现的效果如下

JS库中的Particles.js在vue上的运用案例分析

总结

以上所述是小编给大家介绍的JS库中的Particles.js在vue上的运用案例分析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
xml分页+ajax请求数据源+dom取结果实例代码
Oct 31 Javascript
json格式的时间显示为正常年月日的方法
Sep 08 Javascript
一个JavaScript用逗号分割字符串实例
Sep 22 Javascript
js获取微信版本号的方法
May 12 Javascript
Javascript中arguments用法实例分析
Jun 13 Javascript
又一枚精彩的弹幕效果jQuery实现
Jul 25 Javascript
JavaScript 中对象的深拷贝
Dec 04 Javascript
AngularJS select设置默认值的实现方法
Aug 25 Javascript
Vue2.0用户权限控制解决方案的示例
Feb 10 Javascript
浅谈vue项目如何打包扔向服务器
May 08 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
vue3.0实现插件封装
Dec 14 Vue.js
详解vue-router 路由元信息
Sep 13 #Javascript
基于Particles.js制作超炫粒子动态背景效果(仿知乎)
Sep 13 #Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 #Javascript
Vue-Router进阶之滚动行为详解
Sep 13 #Javascript
Vue 滚动行为的具体使用方法
Sep 13 #Javascript
利用JS如何计算字符串所占字节数示例代码
Sep 13 #Javascript
VUE实现一个分页组件的示例
Sep 13 #Javascript
You might like
php 定义404页面的实现代码
2012/11/19 PHP
linux下安装php的memcached客户端
2014/08/03 PHP
PHP关联数组实现根据元素值删除元素的方法
2015/06/26 PHP
yii框架redis结合php实现秒杀效果(实例代码)
2017/10/26 PHP
PHP数组式访问接口ArrayAccess用法分析
2017/12/28 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
Javascript下判断是否为闰年的Datetime包
2010/10/26 Javascript
js浮点数精确计算(加、减、乘、除)
2013/12/26 Javascript
jQuery div拖拽用法实例
2016/01/14 Javascript
nodeJs内存泄漏问题详解
2016/09/05 NodeJs
一次记住JavaScript的6个正则表达式方法
2018/02/22 Javascript
微信小程序项目实践之验证码倒计时功能
2018/07/18 Javascript
聊聊vue 中的v-on参数问题
2021/01/29 Vue.js
python socket 超时设置 errno 10054
2014/07/01 Python
用pandas中的DataFrame时选取行或列的方法
2018/07/11 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
pandas参数设置的实用小技巧
2020/08/23 Python
Python LMDB库的使用示例
2021/02/14 Python
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Lentiamo荷兰:在线订购隐形眼镜、隐形眼镜液和太阳镜
2019/10/25 全球购物
竞选大队委员演讲稿
2014/04/28 职场文书
经贸专业毕业生求职信范文
2014/05/01 职场文书
2014法制宣传日活动总结
2014/07/09 职场文书
毕业生应聘求职信
2014/07/10 职场文书
应届大学生求职信
2014/07/20 职场文书
转让协议书范本
2014/09/13 职场文书
大学生操行评语大全
2014/12/31 职场文书
2016年寒假社会实践活动总结
2015/03/27 职场文书
关爱留守儿童捐款倡议书
2015/04/27 职场文书
寻找最美乡村教师观后感
2015/06/18 职场文书
Python基础详解之邮件处理
2021/04/28 Python
python flask框架快速入门
2021/05/14 Python
详细介绍MySQL中limit和offset的用法
2022/05/06 MySQL
Spring 使用注解开发
2022/05/20 Java/Android