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 相关文章推荐
js null undefined 空区别说明
Jun 13 Javascript
谈谈JavaScript中的函数与闭包
Apr 14 Javascript
原生javascript实现拖动元素示例代码
Sep 01 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
Sep 01 Javascript
浅谈JavaScript for循环 闭包
Jun 22 Javascript
JS关闭窗口时产生的事件及用法示例
Aug 20 Javascript
Bootstrap基本组件学习笔记之列表组(11)
Dec 07 Javascript
Bootstrap轮播图学习使用
Feb 10 Javascript
js实现复制功能(多种方法集合)
Jan 06 Javascript
JavaScript new对象的四个过程实例浅析
Jul 31 Javascript
JavaScript多种页面刷新方法小结
Apr 04 Javascript
JS JQuery获取data-*属性值方法解析
Sep 01 jQuery
详解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
我的论坛源代码(二)
2006/10/09 PHP
用PHP查询搜索引擎排名位置的代码
2010/01/05 PHP
非常有用的9个PHP代码片段
2016/04/06 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
javascript Xml增删改查(IE下)操作实现代码
2009/01/30 Javascript
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
js之ActiveX控件使用说明 new ActiveXObject()
2014/03/03 Javascript
Node.js安装教程和NPM包管理器使用详解
2014/08/16 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
JavaScript Ajax编程 应用篇
2016/07/02 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
AngularJS的ng Http Request与response格式转换方法
2016/11/07 Javascript
Vue分页组件实例代码
2017/04/17 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
2018/05/03 Javascript
vue debug 二种方法
2018/09/16 Javascript
Vue 表情包输入组件的实现代码
2019/01/21 Javascript
mpvue小程序循环动画开启暂停的实现方法
2019/05/15 Javascript
elementUI select组件使用及注意事项详解
2019/05/29 Javascript
[04:26]2014DOTA2国际邀请赛-Newbee顺利进入胜者组决赛 独家专访战神7
2014/07/19 DOTA
[01:27:43]VGJ.S vs TNC Supermajor 败者组 BO3 第三场 6.6
2018/06/07 DOTA
[49:59]KG vs Mineski 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
python根据出生日期返回年龄的方法
2015/03/26 Python
Python类属性与实例属性用法分析
2015/05/09 Python
Python3写入文件常用方法实例分析
2015/05/22 Python
python中range()与xrange()用法分析
2016/09/21 Python
Python2.7读取PDF文件的方法示例
2017/07/13 Python
CentOS下Python3的安装及创建虚拟环境的方法
2018/11/28 Python
pip安装py_zipkin时提示的SSL问题对应
2018/12/29 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
学雷锋标兵事迹材料
2014/08/18 职场文书
2015年司机年终工作总结
2015/05/14 职场文书
一些让Python代码简洁的实用技巧总结
2021/08/23 Python