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 相关文章推荐
Javascript Function对象扩展之延时执行函数
Jul 06 Javascript
加载jQuery后$冲突的解决办法
Jul 09 Javascript
JavaScript中的类与实例实现方法
Jan 23 Javascript
多种jQuery绑定事件的实现方式
Jun 13 Javascript
jquery Ajax实现Select动态添加数据
Jun 08 jQuery
在 Angular中 使用 Lodash 的方法
Feb 11 Javascript
Node.js readline模块与util模块的使用
Mar 01 Javascript
mpvue写一个CPASS小程序的示例
Sep 04 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
Sep 27 Javascript
js实现淘宝浏览商品放大镜功能
Oct 28 Javascript
利用promise及参数解构封装ajax请求的方法
Mar 24 Javascript
JavaScript offset实现鼠标坐标获取和窗口内模块拖动
May 30 Javascript
详解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函数
2006/10/09 PHP
php中计算时间差的几种方法
2009/12/31 PHP
php设计模式之命令模式的应用详解
2013/05/21 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
javascript语句中的CDATA标签的意义
2007/05/09 Javascript
几个比较经典常用的jQuery小技巧
2010/03/01 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
parentElement,srcElement的使用小结
2014/01/13 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
java必学必会之static关键字
2015/12/03 Javascript
详解angular ui-grid之过滤器设置
2017/06/07 Javascript
Angularjs单选框相关的示例代码
2017/08/17 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
vue3中轻松实现switch功能组件的全过程
2021/01/07 Vue.js
[04:52]第二届DOTA2亚洲邀请赛主赛事第一天比赛集锦:OG娜迦海妖放大配合谜团大中3人
2017/04/02 DOTA
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
Python学生信息管理系统修改版
2018/03/13 Python
django 删除数据库表后重新同步的方法
2018/05/27 Python
python面试题Python2.x和Python3.x的区别
2019/05/28 Python
Python爬虫程序架构和运行流程原理解析
2020/03/09 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
护理学毕业生自荐信
2013/10/02 职场文书
临床医学专业毕业生的自我评价
2013/10/17 职场文书
幼儿园消防演练方案
2014/02/13 职场文书
信息服务专业毕业生求职信
2014/03/02 职场文书
教师三严三实心得体会
2014/10/11 职场文书
专业见习报告范文
2014/11/03 职场文书
2014年班干部工作总结
2014/11/25 职场文书
雨花台导游词
2015/02/06 职场文书
读《工匠精神》有感:热爱工作,精益求精
2019/12/28 职场文书
js实现自动锁屏功能
2021/06/02 Javascript