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函数获取html中className所在的内容并去除标签
Sep 08 Javascript
JavaScript使用replace函数替换字符串的方法
Apr 06 Javascript
JavaScript实现倒计时代码段Item1(非常实用)
Nov 03 Javascript
详解js中构造流程图的核心技术JsPlumb
Dec 08 Javascript
Node.js的MongoDB驱动Mongoose基本使用教程
Mar 01 Javascript
Javascript中的对象和原型(二)
Aug 12 Javascript
javascript中this关键字详解
Dec 12 Javascript
BootStrap下的弹出框加载select2框架失败的解决方法
Aug 31 Javascript
详解http访问解析流程原理
Oct 18 Javascript
JavaScript原生实现观察者模式的示例
Dec 15 Javascript
利用vue.js实现被选中状态的改变方法
Feb 08 Javascript
JavaScript使用百度ECharts插件绘制饼图操作示例
Nov 26 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
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
PHP 彩色文字实现代码
2009/06/29 PHP
PHPLog php 程序调试追踪工具
2009/09/09 PHP
PHP判断表单复选框选中状态完整例子
2014/06/24 PHP
php一维二维数组键排序方法实例总结
2014/11/13 PHP
详细解读php的命名空间(二)
2018/02/21 PHP
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
javascript 回到顶部效果的实现代码
2014/02/17 Javascript
Window.Open如何在同一个标签页打开
2014/06/20 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
解决angular的$http.post()提交数据时后台接收不到参数值问题的方法
2015/12/10 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
javascript实现消灭星星小游戏简单版
2016/11/15 Javascript
微信小程序 wx.uploadFile无法上传解决办法
2016/12/14 Javascript
angular 用拦截器统一处理http请求和响应的方法
2017/06/08 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
Vuex 进阶之模块化组织详解
2018/01/12 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
Vue实现移动端页面切换效果【推荐】
2018/11/13 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
vue的keep-alive用法技巧
2019/08/15 Javascript
Python写入数据到MP3文件中的方法
2015/07/10 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
浅谈tensorflow之内存暴涨问题
2020/02/05 Python
python+selenium+chrome批量文件下载并自动创建文件夹实例
2020/04/27 Python
在Keras中利用np.random.shuffle()打乱数据集实例
2020/06/15 Python
Python基于字典实现switch case函数调用
2020/07/22 Python
Django Form常用功能及代码示例
2020/10/13 Python
幼儿园教师备课制度
2014/01/12 职场文书
总经理助理工作职责
2014/02/06 职场文书
高中生学期学习自我评价
2014/02/24 职场文书
公司年会主持词
2014/03/22 职场文书
证券公司客户经理岗位职责
2015/04/09 职场文书
MySQL中LAG()函数和LEAD()函数的使用
2022/08/14 MySQL