基于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 相关文章推荐
文字幻灯片
Jun 26 Javascript
javascript数字格式化通用类 accounting.js使用
Aug 24 Javascript
JS中多步骤多分步的StepJump组件实例详解
Apr 01 Javascript
基于Vue.js的表格分页组件
May 22 Javascript
移动开发之自适应手机屏幕宽度
Nov 23 Javascript
Jquery Easyui表单组件Form使用详解(30)
Dec 19 Javascript
JS图片轮播与索引变色功能实例详解
Jul 06 Javascript
Vue 2.0学习笔记之Vue中的computed属性
Oct 16 Javascript
React Native AsyncStorage本地存储工具类
Oct 24 Javascript
Angular 5.0 来了! 有这些大变化
Nov 15 Javascript
javascript中的this作用域详解
Jul 15 Javascript
详解小程序如何改变onLoad的执行时机
Nov 01 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删除字符串末尾子字符,删除开始字符,删除两端字符(实现代码)
2013/06/27 PHP
Zend Framework缓存Cache用法简单实例
2016/03/19 PHP
PHP的全局错误处理详解
2016/04/25 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
2017/04/25 PHP
PHP实现动态压缩js与css文件的方法
2018/05/02 PHP
Laravel程序架构设计思路之使用动作类
2018/06/07 PHP
php上传后台无法收到数据解决方法
2019/10/28 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
Javascript String对象扩展HTML编码和解码的方法
2009/06/02 Javascript
JavaScript 创建对象
2009/07/17 Javascript
JS如何将UTC格式时间转本地格式
2013/09/04 Javascript
Web程序员必备的7个JavaScript函数
2016/06/14 Javascript
BootStrap table表格插件自适应固定表头(超好用)
2016/08/24 Javascript
vue绑定class与行间样式style详解
2017/08/16 Javascript
JS实现评价的星星功能
2017/08/20 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
微信小程序开发实现的选项卡(窗口顶部/底部TabBar)页面切换功能图文详解
2019/05/14 Javascript
判断JavaScript中的两个变量是否相等的操作符
2019/12/21 Javascript
vue实现抽屉弹窗效果
2020/11/15 Javascript
[44:40]Spirit vs Navi Supermajor小组赛 A组败者组第一轮 BO3 第一场 6.2
2018/06/03 DOTA
python实现简单socket通信的方法
2016/04/19 Python
Python将一个Excel拆分为多个Excel
2018/11/07 Python
python 命令行传入参数实现解析
2019/08/30 Python
python 实现aes256加密
2020/11/27 Python
如何用Python编写一个电子考勤系统
2021/02/08 Python
css3中的calc函数浅析
2018/07/10 HTML / CSS
用CSS3打造HTML5的Logo(实现代码)
2016/06/16 HTML / CSS
New Era英国官网:美国棒球帽品牌
2018/03/21 全球购物
北美Newegg打造的全球尖货海购平台:tt海购
2018/09/28 全球购物
北京麒麟网信息技术有限公司网络游戏测试面试题
2013/09/28 面试题
入职担保书怎么写
2014/05/12 职场文书
毕业生评语大全
2015/01/04 职场文书
云台山导游词
2015/02/03 职场文书
2015年度企业工作总结
2015/05/21 职场文书
Nginx 负载均衡是什么以及该如何配置
2021/03/31 Servers