基于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 相关文章推荐
IE6 fixed的完美解决方案
Mar 31 Javascript
JS 对象属性相关(检查属性、枚举属性等)
Apr 05 Javascript
在JavaScript的jQuery库中操作AJAX的方法讲解
Aug 15 Javascript
有关Promises异步问题详解
Nov 13 Javascript
Vue 固定头 固定列 点击表头可排序的表格组件
Nov 25 Javascript
vue.js或js实现中文A-Z排序的方法
Mar 08 Javascript
React为 Vue 引入容器组件和展示组件的教程详解
May 03 Javascript
详解如何在微信小程序中愉快地使用sass
Jul 30 Javascript
vue中axios的二次封装实例讲解
Oct 14 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
vue调用微信JSDK 扫一扫,相册等需要注意的事项
Jan 03 Vue.js
微信小程序实现轮播图指示器
Jun 25 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/09/30 PHP
php中file_get_content 和curl以及fopen 效率分析
2014/09/19 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
你必须知道的Javascript知识点之&quot;深入理解作用域链&quot;的介绍
2013/04/23 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
2014/04/12 Javascript
js加入收藏夹代码(兼容ie/ff/op)
2014/05/16 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
JavaScript数据库TaffyDB用法实例分析
2015/07/27 Javascript
javascript时间排序算法实现活动秒杀倒计时效果
2021/01/28 Javascript
JS解决iframe之间通信和自适应高度的问题
2016/08/24 Javascript
js实现按钮控制带有停顿效果的图片滚动
2016/08/30 Javascript
深入理解Angularjs向指令传递数据双向绑定机制
2016/12/31 Javascript
js/jq仿window文件夹框选操作插件
2017/03/08 Javascript
详解用node搭建简单的静态资源管理器
2017/08/09 Javascript
在 Angular中 使用 Lodash 的方法
2018/02/11 Javascript
JS抛物线动画实例制作
2018/02/24 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
vue-cli3 配置开发与测试环境详解
2019/05/17 Javascript
Python实现测试磁盘性能的方法
2015/03/12 Python
python dict 字典 以及 赋值 引用的一些实例(详解)
2017/01/20 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
2018/04/09 Python
python写入数据到csv或xlsx文件的3种方法
2019/08/23 Python
在Python中使用filter去除列表中值为假及空字符串的例子
2019/11/18 Python
浅谈pytorch、cuda、python的版本对齐问题
2020/01/15 Python
浅谈Python中的字符串
2020/06/10 Python
python实现控制台输出颜色
2021/03/02 Python
中国电子产品外贸网站:MiniIntheBox
2017/02/06 全球购物
期末评语大全
2014/05/04 职场文书
动漫设计与制作专业推荐信
2014/07/07 职场文书
2014年英语工作总结
2014/12/20 职场文书
建议书范文
2015/02/05 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
2016大学优秀学生干部事迹材料
2016/03/01 职场文书
详解Laravel制作API接口
2021/05/31 PHP
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS