基于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 相关文章推荐
Jquery 模板数据绑定插件的使用方法详解
Jul 08 Javascript
jquery按回车提交数据的代码示例
Nov 05 Javascript
css+js实现部分区域高亮可编辑遮罩层
Mar 04 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
May 28 Javascript
超赞的jQuery图片滑块动画特效代码汇总
Jan 25 Javascript
jquery插件jquery.dragscale.js实现拖拽改变元素大小的方法(附demo源码下载)
Feb 25 Javascript
jqGrid用法汇总(全经典)
Jun 28 Javascript
详解AngularJS controller调用factory
May 19 Javascript
Angularjs使用过滤器完成排序功能
Sep 20 Javascript
微信小程序五子棋游戏的悔棋实现方法【附demo源码下载】
Feb 20 Javascript
详解js获取video任意时间的画面截图
Apr 17 Javascript
vue axios post发送复杂对象问题
Jun 04 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设计模式 Template (模板模式)
2011/06/26 PHP
PHP stream_context_create()函数的使用示例
2015/05/12 PHP
php二维码生成以及下载实现
2017/09/28 PHP
JS上传前预览图片实例
2013/03/25 Javascript
JavaScript加入收藏夹功能(兼容IE、firefox、chrome)
2014/05/05 Javascript
javascript编写实用的省市选择器
2015/02/12 Javascript
Jquery结合HTML5实现文件上传
2015/06/25 Javascript
jQuery实现图片上传和裁剪插件Croppie
2015/11/29 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
Node.js读取文件内容示例
2017/03/07 Javascript
node koa2实现上传图片并且同步上传到七牛云存储
2017/07/31 Javascript
详解使用PM2管理nodejs进程
2017/10/24 NodeJs
React SSR样式及SEO的实践
2018/10/22 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
Jquery让form表单异步提交代码实现
2019/11/14 jQuery
vue中上传视频或图片或图片和文字一起到后端的解决方法
2019/12/01 Javascript
vue 中url 链接左边的小图标更改问题
2019/12/30 Javascript
JavaScript实现10秒后再次获取验证码
2020/12/02 Javascript
SublimeText 2编译python出错的解决方法(The system cannot find the file specified)
2013/11/27 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
python中有关时间日期格式转换问题
2019/12/25 Python
Python TCPServer 多线程多客户端通信的实现
2019/12/31 Python
Python多线程多进程实例对比解析
2020/03/12 Python
Python @property及getter setter原理详解
2020/03/31 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
2020/06/18 Python
css3 给背景设置渐变色的方法
2019/09/12 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
人事主管岗位职责
2014/01/30 职场文书
青年教师典范事迹材料
2014/01/31 职场文书
大学生求职工作的自我评价
2014/02/13 职场文书
市级青年文明号申报材料
2014/05/26 职场文书
标准版离职证明书
2014/09/12 职场文书
大学学生会竞选稿
2015/11/19 职场文书
2016大学生毕业实习心得体会
2016/01/23 职场文书
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
MySQL 原理与优化之原数据锁的应用
2022/08/14 MySQL