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中的Split使用方法与技巧
Mar 09 Javascript
JavaScript Tips 使用DocumentFragment加快DOM渲染速度
Jun 28 Javascript
jquery.combobox中文api和例子,修复了上面的小bug
Mar 28 Javascript
javascript对talbe进行动态添加、删除、验证实现代码
Mar 29 Javascript
JavaScript中的关键字&quot;VAR&quot;使用详解 分享
Jul 31 Javascript
JavaScript包装对象使用介绍
Aug 29 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
javascript实现消灭星星小游戏简单版
Nov 15 Javascript
基于jQuery实现Accordion手风琴自定义插件
Oct 13 Javascript
Bootstrap基本插件学习笔记之Tooltip提示工具(18)
Dec 08 Javascript
ES6 Promise对象的应用实例分析
Jun 27 Javascript
AngularJS动态生成select下拉框的方法实例
Nov 17 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获取用户IPv4或IPv6地址的代码
2012/11/15 PHP
基于php无限分类的深入理解
2013/06/02 PHP
php 删除目录下N分钟前创建的所有文件的实现代码
2013/08/10 PHP
Yii学习总结之安装配置
2015/02/22 PHP
php7安装mongoDB扩展的方法分析
2017/08/02 PHP
PHP常用函数之格式化时间操作示例
2019/10/21 PHP
js操作CheckBoxList实现全选/反选(在客服端完成)
2013/02/02 Javascript
javascript使用isNaN()函数判断变量是否为数字
2013/09/21 Javascript
jquery实现pager控件示例
2014/04/09 Javascript
JavaScript中数组添加值和访问值常见问题
2016/02/06 Javascript
JavaScript中apply方法的应用技巧小结
2016/09/29 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
JS中substring与substr的用法
2016/11/16 Javascript
微信小程序 首页制作简单实例
2017/04/07 Javascript
jquery操作ul的一些操作笔记整理(干货)
2017/08/31 jQuery
JS实现图片居中悬浮效果
2017/12/25 Javascript
微信小程序仿朋友圈发布动态功能
2018/07/15 Javascript
python私有属性和方法实例分析
2015/01/15 Python
win与linux系统中python requests 安装
2016/12/04 Python
python中的计时器timeit的使用方法
2017/10/20 Python
python基于paramiko将文件上传到服务器代码实现
2019/07/08 Python
详解Python中namedtuple的使用
2020/04/27 Python
Python多分支if语句的使用
2020/09/03 Python
HTML5 input placeholder 颜色修改示例
2014/05/30 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
LightInTheBox法国站:中国跨境电商
2020/03/05 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
物业管理员岗位职责范文
2013/11/25 职场文书
大学新学期计划书
2014/04/28 职场文书
中学生社会实践活动总结
2014/07/03 职场文书
合作协议书范文
2014/08/20 职场文书
2014年高三班主任工作总结
2014/12/05 职场文书
2015年服务员工作总结
2015/04/08 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
2016年母亲节广告语
2016/01/28 职场文书
使用logback实现按自己的需求打印日志到自定义的文件里
2021/08/30 Java/Android