基于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+css+ul模拟列表菜单具体实现思路
Apr 15 Javascript
js替代copy(示例代码)
Nov 27 Javascript
jQuery中的pushStack实现原理和应用实例
Feb 03 Javascript
简述jQuery ajax的执行顺序
Jan 05 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
javascript中获取class的简单实现
Jul 12 Javascript
微信小程序 常见问题总结(4058,40013)及解决办法
Jan 11 Javascript
原生js实现手风琴功能(支持横纵向调用)
Jan 13 Javascript
Bootstrap警告框(Alert)插件使用方法
Mar 21 Javascript
H5基于iScroll实现下拉刷新和上拉加载更多
Jul 18 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
Dec 03 Javascript
ES2020系列之空值合并运算符 '??'
Jul 22 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安全编程之加密功能
2006/10/09 PHP
图书管理程序(三)
2006/10/09 PHP
CodeIgniter基本配置详细介绍
2013/11/12 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
php导出csv文件,可导出前导0实例代码
2016/11/16 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
Laravel 5+ .env环境配置文件详解
2020/04/06 PHP
Docker 安装 PHP并与Nginx的部署实例讲解
2021/02/27 PHP
JavaScript 特殊字符
2007/04/05 Javascript
innerhtml用法 innertext用法 以及innerHTML与innertext的区别
2009/10/26 Javascript
基于jQuery的日期选择控件
2009/10/27 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
2015/09/17 Javascript
BootStrap智能表单实战系列(九)表单图片上传的支持
2016/06/13 Javascript
JS动态遍历json中所有键值对的方法(不知道属性名的情况)
2016/12/28 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
2017/09/13 Javascript
微信小程序之GET请求的实例详解
2017/09/29 Javascript
原生javascript实现文件异步上传的实例讲解
2017/10/26 Javascript
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
vue给组件传递不同的值方法
2018/09/29 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
Python反射的用法实例分析
2018/02/11 Python
python使用TensorFlow进行图像处理的方法
2018/02/28 Python
python调用tcpdump抓包过滤的方法
2018/07/18 Python
python对象转字典的两种实现方式示例
2019/11/07 Python
python GUI库图形界面开发之PyQt5单行文本框控件QLineEdit详细使用方法与实例
2020/02/27 Python
Python实现计算图像RGB均值方式
2020/06/04 Python
python文件及目录操作代码汇总
2020/07/08 Python
俄罗斯披萨、寿司和面食送货到家服务:2 Берега
2019/12/15 全球购物
2014年感恩母亲演讲稿
2014/05/27 职场文书
房产公证委托书范本
2014/09/20 职场文书
党员年度个人总结
2015/02/14 职场文书
社区活动总结范文
2015/05/07 职场文书
爱国主义教育主题班会
2015/08/13 职场文书
新员工实习期个人工作总结
2015/10/15 职场文书
SpringBoot SpringEL表达式的使用
2021/07/25 Java/Android
python中出现invalid syntax报错的几种原因分析
2022/02/12 Python