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 获取表单file全路径
Dec 31 Javascript
JavaScript onkeypress事件入门实例(按下或按住一个键盘按键)
Oct 17 Javascript
使用Bootstrap框架制作查询页面的界面实例代码
May 27 Javascript
第一次接触神奇的Bootstrap网格系统
Jul 27 Javascript
jQuery+CSS实现简单切换菜单示例
Jul 27 Javascript
Omi v1.0.2发布正式支持传递javascript表达式
Mar 21 Javascript
微信小程序如何获知用户运行小程序的场景教程
May 17 Javascript
原生JS实现 MUI导航栏透明渐变效果
Nov 07 Javascript
vue elementui el-form rules动态验证的实例代码详解
May 23 Javascript
Vue实现固定定位图标滑动隐藏效果
May 30 Javascript
vue学习笔记之slot插槽基本用法实例分析
Feb 01 Javascript
vue中实现动态生成二维码的方法
Feb 21 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
星际初学者游戏中永远要做的事
2020/03/04 星际争霸
PHP设计聊天室步步通
2006/10/09 PHP
兼容性最强的PHP生成缩略图的函数代码(修改版)
2011/01/18 PHP
Thinkphp 框架扩展之类库扩展操作详解
2020/04/23 PHP
javascript delete 使用示例代码
2010/03/29 Javascript
JavaScript代码复用模式实例分析
2012/12/02 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
jQuery判断指定id的对象是否存在的方法
2015/05/22 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
工厂模式在JS中的实践
2017/01/18 Javascript
JavaScript正则表达式简单实用实例
2017/06/23 Javascript
vue.js学习之UI组件开发教程
2017/07/03 Javascript
浅谈Angular HttpClient简单入门
2018/05/04 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
Vue数据绑定简析小结
2019/05/07 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
Angular短信模板校验代码
2020/09/23 Javascript
Javascript实现关闭广告效果
2021/01/29 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
Python获取电脑硬件信息及状态的实现方法
2014/08/29 Python
Python中subprocess的简单使用示例
2015/07/28 Python
Python实现在线音乐播放器
2017/03/03 Python
python将ansible配置转为json格式实例代码
2017/05/15 Python
Python使用回溯法子集树模板解决爬楼梯问题示例
2017/09/08 Python
微信小程序python用户认证的实现
2019/07/29 Python
Python读取Excel数据并生成图表过程解析
2020/06/18 Python
Python装饰器如何实现修复过程解析
2020/09/05 Python
python中time包实例详解
2021/02/02 Python
奥利奥广告词
2014/03/20 职场文书
乡镇消防安全责任书
2014/07/23 职场文书
民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014年网管工作总结
2014/12/11 职场文书
复试通知单模板
2015/04/24 职场文书
Innodb存储引擎中的后台线程详解
2022/04/03 MySQL
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS