基于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 类与静态类的实现
Apr 01 Javascript
用RadioButten或CheckBox实现div的显示与隐藏
Sep 21 Javascript
jQuery中filter()和find()的区别深入了解
Sep 25 Javascript
javascript放大镜效果的简单实现
Dec 09 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
js窗口震动小程序分享
Nov 28 Javascript
Angularjs处理页面闪烁的解决方法
Mar 09 Javascript
Vue中fragment.js使用方法详解
Mar 09 Javascript
详谈vue+webpack解决css引用图片打包后找不到资源文件的问题
Mar 06 Javascript
全面解析vue router 基本使用(动态路由,嵌套路由)
Sep 02 Javascript
vue项目前端微信JSAPI与外部H5支付相关实现过程及常见问题
Apr 14 Javascript
vue el-upload上传文件的示例代码
Dec 21 Vue.js
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
DOMXML函数笔记
2006/10/09 PHP
PHP代码保护--Zend Guard的使用详解
2013/06/03 PHP
PHP下的Oracle客户端扩展(OCI8)安装教程
2014/09/10 PHP
smarty模板引擎之内建函数用法
2015/03/30 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
php 实现301重定向跳转实例代码
2016/07/18 PHP
thinkphp表单上传文件并将文件路径保存到数据库中
2016/07/28 PHP
CI框架常用经典操作类总结(路由,伪静态,分页,session,验证码等)
2016/11/21 PHP
prototype 源码中文说明之 prototype.js
2006/09/22 Javascript
不使用XMLHttpRequest实现异步加载 Iframe和script
2012/10/29 Javascript
jquery实现下拉菜单的二级联动利用json对象从DB取值显示联动
2014/03/27 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
JavaScript实现的encode64加密算法实例分析
2015/04/15 Javascript
javascript删除元素节点removeChild()用法实例
2015/05/26 Javascript
jQuery插件开发精品教程(让你的jQuery更上一个台阶)
2015/11/07 Javascript
基于jQuery 实现bootstrapValidator下的全局验证
2015/12/07 Javascript
基于Bootstrap实现图片轮播效果
2016/05/22 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
2016/10/17 Javascript
js 颜色选择插件
2017/01/23 Javascript
JS去掉字符串前后空格、阻止表单提交的实现代码
2017/06/08 Javascript
three.js实现3D模型展示的示例代码
2017/12/31 Javascript
为jquery的ajax请求添加超时timeout时间的操作方法
2018/09/04 jQuery
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
12个提高JavaScript技能的概念(小结)
2019/05/09 Javascript
简单了解three.js 着色器材质
2020/08/03 Javascript
Python编程之event对象的用法实例分析
2017/03/23 Python
numpy 返回函数的上三角矩阵实例
2019/11/25 Python
CSS3实现伪类hover离开时平滑过渡效果示例
2017/08/10 HTML / CSS
阿姆斯特丹杜莎夫人蜡像馆官方网站:Madame Tussauds Amsterdam
2019/03/12 全球购物
编辑个人求职信范文
2013/09/21 职场文书
《植物妈妈有办法》教学反思
2014/02/25 职场文书
中国梦演讲稿范文
2014/08/28 职场文书
中标通知书
2015/04/17 职场文书
用Python实现Newton插值法
2021/04/17 Python
如何用JavaScript学习算法复杂度
2021/04/30 Javascript