基于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实现UTF8编码转换成gb2312编码
Dec 22 Javascript
(JS实现)MapBar中坐标的加密和解密的脚本
May 16 Javascript
Javascript创建Silverlight Plugin以及自定义nonSilverlight和lowSilverlight样式
Jun 28 Javascript
javascript实现在指定元素中垂直水平居中
Sep 13 Javascript
js获取Html元素的实际宽度高度的方法
May 19 Javascript
javascript特效实现——当前时间和倒计时效果的简单实例
Jul 20 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
May 15 jQuery
JavaScript运行原理分析
Feb 09 Javascript
小程序云开发获取不到数据库记录的解决方法
May 18 Javascript
highcharts.js数据绑定方式代码实例
Nov 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
jquery 键盘事件的使用方法详解
Sep 13 #jQuery
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 #Javascript
You might like
PHP设计模式之工厂模式(Factory Pattern)的讲解
2019/03/21 PHP
按下Enter焦点移至下一个控件的实现js代码
2013/12/11 Javascript
Jquery对象和Dom对象的区别分析
2014/11/20 Javascript
JavaScript将字符串转换成字符编码列表的方法
2015/03/19 Javascript
Javascript变量的作用域和作用域链详解
2015/04/02 Javascript
jQuery简单实现日历的方法
2015/05/04 Javascript
js判断手机访问或者PC的几个例子(常用于手机跳转)
2015/12/15 Javascript
详解Node.js包的工程目录与NPM包管理器的使用
2016/02/16 Javascript
微信小程序 页面跳转传递值几种方法详解
2017/01/12 Javascript
Nodejs调用WebService的示例代码
2017/09/29 NodeJs
nuxt.js 缓存实践
2018/06/25 Javascript
vue实现简单的MVVM框架
2018/08/05 Javascript
bootstrap实现点击删除按钮弹出确认框的实例代码
2018/08/16 Javascript
p5.js临摹动态图形实现方法详解
2019/10/23 Javascript
微信小程序wx.request的简单封装
2019/11/13 Javascript
JS实现吸顶特效
2020/01/08 Javascript
js实现图片上传到服务器和回显
2020/01/19 Javascript
[01:23:45]DOTA2-DPC中国联赛 正赛 CDEC vs Dragon BO3 第一场 1月22日
2021/03/11 DOTA
玩转python爬虫之URLError异常处理
2016/02/17 Python
Python多继承顺序实例分析
2018/05/26 Python
python绘制多个子图的实例
2019/07/07 Python
Python 通过正则表达式快速获取电影的下载地址
2020/08/17 Python
html5 标签
2009/07/16 HTML / CSS
SteelSeries赛睿官网:游戏外设和配件的领先制造商(耳机、键盘、鼠标和鼠标垫)
2018/06/17 全球购物
莫斯科高科技在线商店:KremlinStore
2019/03/13 全球购物
开放系统互连参考模型
2016/06/29 面试题
英语系毕业生自荐信
2013/10/31 职场文书
六十大寿答谢词
2014/01/12 职场文书
学生感冒英文请假条
2014/02/04 职场文书
财务会计大学生自我评价
2014/04/09 职场文书
售房协议书
2014/08/19 职场文书
个人作风纪律整顿整改措施
2014/10/25 职场文书
初中教师个人工作总结
2015/02/10 职场文书
2015年秋季学校开学标语
2015/07/16 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
JavaScript实现酷炫的鼠标拖尾特效
2022/02/18 Javascript