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 相关文章推荐
jquery仿京东导航/仿淘宝商城左侧分类导航下拉菜单效果
Apr 24 Javascript
JS实现同时搜索百度和必应的方法
Jan 27 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
javascript处理a标签超链接默认事件的方法
Jun 29 Javascript
javascript同步服务器时间和同步倒计时小技巧
Sep 24 Javascript
JS不完全国际化&amp;本地化手册 之 理论篇
Sep 27 Javascript
Bootstrap基本组件学习笔记之缩略图(13)
Dec 08 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
Dec 12 Javascript
JS搜狐面试题分析
Dec 16 Javascript
jQuery实现级联下拉框实战(5)
Feb 08 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
Jul 29 Javascript
HTML+JavaScript实现扫雷小游戏
Sep 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中eclipse 用空格替换 tab键
2013/06/24 PHP
深入解析php中的foreach问题
2013/06/30 PHP
jQuery中的RadioButton,input,CheckBox取值赋值实现代码
2014/02/18 PHP
PHP的preg_match匹配字符串长度问题解决方法
2014/05/03 PHP
php获取一定范围内取N个不重复的随机数
2016/05/28 PHP
JavaScript调用后台的三种方法实例
2013/10/17 Javascript
JavaScript实现存储HTML字符串示例
2014/04/21 Javascript
超级简单的jquery操作表格方法
2014/12/15 Javascript
分享20个提升网站界面体验的jQuery插件
2014/12/15 Javascript
JS中正则表达式只有3种匹配模式(没有单行模式)详解
2016/07/28 Javascript
vue.js todolist实现代码
2017/10/29 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
vue监听dom大小改变案例
2020/07/29 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
[52:22]EG vs VG Supermajor小组赛B组 BO3 第一场 6.2
2018/06/03 DOTA
Python标准库内置函数complex介绍
2014/11/25 Python
Python中用format函数格式化字符串的用法
2015/04/08 Python
Python处理字符串之isspace()方法的使用
2015/05/19 Python
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python解析json串与正则匹配对比方法
2018/12/20 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
Python综合应用名片管理系统案例详解
2020/01/03 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
python实现单目标、多目标、多尺度、自定义特征的KCF跟踪算法(实例代码)
2020/01/08 Python
Python中zipfile压缩文件模块的基本使用教程
2020/06/14 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
迪斯尼商品官方网站:ShopDisney
2016/08/01 全球购物
Schutz鞋官方网站:Schutz Shoes
2017/12/13 全球购物
工程售后服务方案
2014/06/08 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
老人与海读书笔记
2015/06/26 职场文书
小学2016年“我们的节日·重阳节”活动总结
2016/04/01 职场文书
六年级作文之关于梦
2019/10/22 职场文书