基于Particles.js制作超炫粒子动态背景效果(仿知乎)


Posted in Javascript onSeptember 13, 2017

好久没登录知乎,发现他们的登录页面粒子动态效果蛮炫的,查一下代码用了Particles.js基于Canvas画布创建粒子颗粒效果。

上图

基于Particles.js制作超炫粒子动态背景效果(仿知乎)

上图: 

感觉有比格,就照着弄了一个,玩玩。

基于Particles.js制作超炫粒子动态背景效果(仿知乎)

github: https://github.com/VincentGarreau/particles.js/

操作过程:

网上有基本流程,可以参考一下,不过直接用在登录页面 会有小bug,需要调整下。

1、首先在页面中引入particles.js文件。

<script src="js/particles.js"></script>

2、在页面中使用一个div来作为放置粒子的容器。[一般放最底部,css 需要改进一下]

<div id="particles"></div>
<style type="text/css">
 #particles {
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1; //这个z-index 要是不设置 会对登录表单的点击产生干扰,会去抢风头,不好好做一个安静的背景。
  background-color: #26AFE3;
 }
</style>

3、加载配置文件:  网上讲 用load()方法 还得弄个配置的json文件,光路径 就搞残了我。

                  参考官方demo  http://codepen.io/VincentGarreau/pen/pnlso

                  直接在js里面写配置

<script type="text/javascript">
// particlesJS.load('particles', './js/app/particles.json', function() {
//  console.log('callback - particles.js config loaded');
// });
particlesJS("particles", {
 "particles": {
  "number": {
   "value": 30,
   "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": 10,
   "random": true,
   "anim": {
    "enable": false,
    "speed": 50,
    "size_min": 0.1,
    "sync": false
   }
  },
  "line_linked": {
   "enable": true,
   "distance": 300,
   "color": "#ffffff",
   "opacity": 0.4,
   "width": 2
  },
  "move": {
   "enable": true,
   "speed": 8,
   "direction": "none",
   "random": false,
   "straight": false,
   "out_mode": "out",
   "bounce": false,
   "attract": {
    "enable": false,
    "rotateX": 600,
    "rotateY": 1200
   }
  }
 },
 "interactivity": {
  "detect_on": "canvas",
  "events": {
   "onhover": {
    "enable": false,
    "mode": "repulse"
   },
   "onclick": {
    "enable": false,
    "mode": "push"
   },
   "resize": true
  },
  "modes": {
   "grab": {
    "distance": 800,
    "line_linked": {
     "opacity": 1
    }
   },
   "bubble": {
    "distance": 800,
    "size": 80,
    "duration": 2,
    "opacity": 0.8,
    "speed": 3
   },
   "repulse": {
    "distance": 400,
    "duration": 0.4
   },
   "push": {
    "particles_nb": 4
   },
   "remove": {
    "particles_nb": 2
   }
  }
 },
 "retina_detect": true
});
</script>

4,配置参数 option 以及使用:  option  github 官网页面就有详情。控制粒子数量 运动速度 什么的

   particles 用起来还是有点问题的,在chrome 下载文件后再切换到这个页面 就残废了。等解决方法。

总结

以上所述是小编给大家介绍的基于Particles.js制作超炫粒子动态背景效果(仿知乎),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
重写javascript中window.confirm的行为
Oct 21 Javascript
js控制鼠标事件移动及移出效果显示
Oct 19 Javascript
浅谈JavaScript数据类型
Mar 03 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
Dec 14 Javascript
关于vue-router的beforeEach无限循环的问题解决
Sep 09 Javascript
详解如何优雅地在React项目中使用Redux
Dec 28 Javascript
解决vue无法设置滚动位置的问题
Oct 07 Javascript
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
Vuex的API文档说明详解
Feb 05 Javascript
vue-cli+webpack项目打包到服务器后,ttf字体找不到的解决操作
Aug 28 Javascript
JS创建或填充任意长度数组的小技巧汇总
Oct 24 Javascript
JS库之Particles.js中文开发手册及参数详解
Sep 13 #Javascript
Vue-Router进阶之滚动行为详解
Sep 13 #Javascript
Vue 滚动行为的具体使用方法
Sep 13 #Javascript
利用JS如何计算字符串所占字节数示例代码
Sep 13 #Javascript
VUE实现一个分页组件的示例
Sep 13 #Javascript
jquery 键盘事件的使用方法详解
Sep 13 #jQuery
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 #Javascript
You might like
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php基于curl扩展制作跨平台的restfule 接口
2015/05/11 PHP
thinkphp5引入公共部分header、footer的方法详解
2018/09/14 PHP
Laravel如何创建服务器提供者实例代码
2019/04/15 PHP
禁止直接访问php文件代码分享
2020/05/05 PHP
javawscript 三级菜单的实现原理
2009/07/01 Javascript
JSON语法五大要素图文介绍
2012/12/04 Javascript
jquery删除指定的html标签并保留标签内文本内容的方法
2014/04/02 Javascript
一个超简单的jQuery回调函数例子(分享)
2016/08/08 Javascript
AngularJS实现根据变量改变动态加载模板的方法
2016/11/04 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
SpringMVC+bootstrap table实例详解
2017/06/02 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
小程序云开发部署攻略(图文教程)
2018/10/30 Javascript
vue实现可视化可拖放的自定义表单的示例代码
2019/03/20 Javascript
9102了,你还不会移动端真机调试吗
2019/03/25 Javascript
jQuery HTML设置内容和属性操作实例分析
2020/05/20 jQuery
理解python多线程(python多线程简明教程)
2014/06/09 Python
Python比较文件夹比另一同名文件夹多出的文件并复制出来的方法
2015/03/05 Python
Python的多维空数组赋值方法
2018/04/13 Python
Python连接Redis的基本配置方法
2018/09/13 Python
对python插入数据库和生成插入sql的示例讲解
2018/11/14 Python
python中update的基本使用方法详解
2019/07/17 Python
pytorch多GPU并行运算的实现
2019/09/27 Python
Python中os模块功能与用法详解
2020/02/26 Python
在python3中实现查找数组中最接近与某值的元素操作
2020/02/29 Python
PyTorch中clone()、detach()及相关扩展详解
2020/12/09 Python
Python 实现一个简单的web服务器
2021/01/03 Python
介绍下static、final、abstract区别
2015/01/30 面试题
九年级体育教学反思
2014/01/23 职场文书
老总助理工作岗位职责
2014/02/06 职场文书
会务接待方案
2014/02/27 职场文书
小学庆六一活动方案
2014/02/28 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
医院安全生产月活动总结
2014/07/05 职场文书
民事诉讼代理词
2015/05/25 职场文书