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函数以及基础写法100多条实用整理
Jan 13 Javascript
Jquery post传递数组方法实现思路及代码
Apr 28 Javascript
教你在heroku云平台上部署Node.js应用
Jul 30 Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 Javascript
JavaScript实现上下浮动的窗口效果代码
Oct 12 Javascript
解决Vue-cli npm run build生产环境打包,本地不能打开的问题
Sep 20 Javascript
vue引入axios同源跨域问题
Sep 27 Javascript
Vuex的基本概念、项目搭建以及入坑点
Nov 04 Javascript
vue中轮训器的使用
Jan 27 Javascript
JavaScript面向对象中接口实现方法详解
Jul 24 Javascript
vue中npm包全局安装和局部安装过程
Sep 03 Javascript
解决vant-UI库修改样式无效的问题
Nov 03 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图片处理:加水印、缩略图的实现(自定义函数:watermark、thumbnail)
2010/12/02 PHP
用PHP写的基于Memcache的Queue实现代码
2011/11/27 PHP
基于PHP Socket配置以及实例的详细介绍
2013/06/13 PHP
PHP获取ip对应地区和使用网络类型的方法
2015/03/11 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
快速保存网页中所有图片的方法
2006/06/23 Javascript
javascript读写json示例
2014/04/11 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
JavaScript中的Promise使用详解
2015/06/24 Javascript
JS实现合并两个数组并去除重复项只留一个的方法
2015/12/17 Javascript
基于jquery实现智能表单验证操作
2016/05/09 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
BootStrap与validator 使用笔记(JAVA SpringMVC实现)
2016/09/21 Javascript
javascript稀疏数组(sparse array)和密集数组用法分析
2016/12/28 Javascript
Angular在模板驱动表单中自定义校验器的方法
2017/08/09 Javascript
Vue 如何使用props、emit实现自定义双向绑定的实现
2020/06/05 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
2020/07/31 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
零基础写python爬虫之神器正则表达式
2014/11/06 Python
python实现最长公共子序列
2018/05/22 Python
对Python3+gdal 读取tiff格式数据的实例讲解
2018/12/04 Python
对json字符串与python字符串的不同之处详解
2018/12/19 Python
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
OpenCV 使用imread()函数读取图片的六种正确姿势
2020/07/09 Python
python 常见的排序算法实现汇总
2020/08/21 Python
python爬虫破解字体加密案例详解
2021/03/02 Python
HTML5网页录音和上传到服务器支持PC、Android,支持IOS微信功能
2019/04/26 HTML / CSS
Intimissimi德国网上商店:意大利知名内衣品牌
2018/04/03 全球购物
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
俄罗斯香水在线商店:AromaCode
2019/12/04 全球购物
Can a struct inherit from another class? (结构体能继承类吗)
2014/07/22 面试题
应届优秀本科大学毕业生自我鉴定
2014/01/21 职场文书
普罗米修斯教学反思
2014/02/06 职场文书
小学音乐课歌曲《堆雪人》教学反思
2016/02/18 职场文书
windows下快速安装nginx并配置开机自启动的方法
2021/05/11 Servers
MySQL中dd::columns表结构转table过程及应用详解
2022/09/23 MySQL