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操作页面表格,元素的一些技巧
Feb 02 Javascript
jquery如何判断某元素是否具备指定的样式
Nov 05 Javascript
javascript怎么禁用浏览器后退按钮
Mar 27 Javascript
IE6-IE9中tbody的innerHTML不能赋值的解决方法
Jun 05 Javascript
JavaScript检测并限制复选框选中个数的方法
Aug 12 Javascript
JS中sort函数排序用法实例分析
Jun 16 Javascript
jQuery实现的简单百分比进度条效果示例
Aug 01 Javascript
微信小程序 页面传参实例详解
Nov 16 Javascript
Webpack devServer中的 proxy 实现跨域的解决
Jun 15 Javascript
IE8中jQuery.load()加载页面不显示的原因
Nov 15 jQuery
JavaScript两种计时器的实例讲解
Jan 31 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 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 Undefined index报错的修复方法
2011/07/17 PHP
PHP json格式和js json格式 js跨域调用实现代码
2012/09/08 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
php生成静态页面的简单示例
2014/04/17 PHP
PHP书写格式详解(必看)
2016/05/23 PHP
laravel5环境隐藏index.php后缀(apache)的方法
2019/10/12 PHP
DWR Ext 加载数据
2009/03/22 Javascript
json-lib出现There is a cycle in the hierarchy解决办法
2010/02/24 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
JavaScrip实现PHP print_r的数功能(三种方法)
2013/11/12 Javascript
jquery cookie的用法总结
2013/11/18 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
jQuery简单几行代码实现tab切换
2015/03/10 Javascript
全面解析Bootstrap表单使用方法(表单样式)
2015/11/24 Javascript
Vue.js学习之过滤器详解
2017/01/22 Javascript
Vue Router去掉url中默认的锚点#
2018/08/01 Javascript
vue后台管理之动态加载路由的方法
2018/08/13 Javascript
express express-session的使用小结
2018/12/12 Javascript
JavaScript之解构赋值的理解
2019/01/30 Javascript
vue实现节点增删改功能
2019/09/26 Javascript
浅谈Vue中render中的h箭头函数
2019/11/07 Javascript
jquery实现弹窗(系统提示框)效果
2019/12/10 jQuery
小程序实现简单语音聊天的示例代码
2020/07/24 Javascript
一份python入门应该看的学习资料
2018/04/11 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
2018/10/22 Python
Pandas的read_csv函数参数分析详解
2019/07/02 Python
使用WingPro 7 设置Python路径的方法
2019/07/24 Python
python实现串口通信的示例代码
2020/02/10 Python
Python实现从N个数中找到最大的K个数
2020/04/02 Python
法国一家芭蕾舞鞋公司:Repetto
2018/11/12 全球购物
新加坡交友网站:be2新加坡
2019/04/10 全球购物
预备党员对照检查材料思想汇报
2014/09/24 职场文书
2014年网管工作总结
2014/12/11 职场文书
教师个人师德总结
2015/02/06 职场文书
贷款收入证明范本
2015/06/12 职场文书
廉政党课工作报告案例
2019/06/21 职场文书