particles.js粒子效果

作者:高天阳

邮箱:13683265113@163.com

更改历史

* 2019-06-03        高天阳     初始化文档

1 介绍

particles.jss是一个用于创建粒子的轻量级JavaScript库

2 安装

2.1 npm安装

npm地址

2.2 bower安装

2.3 script引入

3 配置参数

键值

参数选项/ 说明

实例

particles.number.value

number 数量

40

particles.number.density.enable

boolean

true / false

particles.number.density.value_area

number 区域散布密度大小

800

particles.color.value

HEX (string) RGB (object) HSL (object) array selection (HEX) random (string) 原子的颜色

"#b61924" {r:182, g:25, b:36} {h:356, s:76, l:41} ["#b61924", "#333333", "999999"] "random"

键值

参数选项/ 说明

实例

particles.shape.type

string array selection 原子的形状

"circle" "edge" "triangle" "polygon" "star" "image" ["circle", "triangle", "image"]

particles.shape.stroke.width

number 原理的宽度

2

particles.shape.stroke.color

HEX (string) 原子颜色

"#222222"

particles.shape.polygon.nb_slides

number 原子的多边形边数

5

particles.shape.image.src

path link svg / png / gif / jpg 原子的图片可以使用自定义图片

"assets/img/yop.svg" "http://XXX.com/yop.png"

particles.shape.image.width

number (for aspect ratio) 图片宽度

100

particles.shape.image.height

number (for aspect ratio) 图片高度

100

键值

参数选项/ 说明

实例

particles.opacity.value

number (0 to 1) 不透明度

0.75

particles.opacity.random

boolean 随机不透明度

true / false

particles.opacity.anim.enable

boolean 渐变动画

true / false

particles.opacity.anim.speed

number 渐变动画速度

3

particles.opacity.anim.opacity_min

number (0 to 1) 渐变动画不透明度

0.25

particles.opacity.anim.sync

boolean

true / false

键值

参数选项/ 说明

实例

particles.size.value

number 原子大小

20

particles.size.random

boolean 原子大小随机

true / false

particles.size.anim.enable

boolean 原子渐变

true / false

particles.size.anim.speed

number 原子渐变速度

3

particles.size.anim.size_min

number

0.25

particles.size.anim.sync

boolean

true / false

键值

参数选项/ 说明

实例

particles.line_linked.enable

boolean 连接线

true / false

particles.line_linked.distance

number 连接线距离

150

particles.line_linked.color

HEX (string) 连接线颜色

#ffffff

particles.line_linked.opacity

number (0 to 1) 连接线不透明度

0.5

particles.line_linked.width

number 连接线的宽度

1.5

键值

参数选项/ 说明

实例

particles.move.enable

boolean 原子移动

true / false

particles.move.speed

number 原子移动速度

4

particles.move.direction

string 原子移动方向

"none" "top" "top-right" "right" "bottom-right" "bottom" "bottom-left" "left" "top-left"

particles.move.random

boolean 移动随机方向

true / false

particles.move.straight

boolean 直接移动

true / false

particles.move.out_mode

string (out of canvas) 是否移动出画布

"out" "bounce"

particles.move.bounce

boolean (between particles) 是否跳动移动

true / false

particles.move.attract.enable

boolean 原子之间吸引

true / false

particles.move.attract.rotateX

number 原子之间吸引X水平距离

3000

particles.move.attract.rotateY

number y垂直距离

1500

interactivity.detect_on

string 原子之间互动检测

"canvas", "window"

键值

参数选项/ 说明

实例

interactivity.events.onhover.enable

boolean 悬停

true / false

interactivity.events.onhover.mode

string array selection 悬停模式

"grab" 抓取临近的 "bubble" 泡沫球效果 "repulse" 击退效果 ["grab", "bubble"]

interactivity.events.onclick.enable

boolean 点击效果

true / false

interactivity.events.onclick.mode

string array selection 点击效果模式

"push" "remove" "bubble" "repulse" ["push", "repulse"]

interactivity.events.resize

boolean 互动事件调整

true / false

interactivity.events.modes.grab.distance

number 原子互动抓取距离

100

interactivity.events.modes.grab.line_linked.opacity

number (0 to 1) 原子互动抓取距离连线不透明度

0.75

interactivity.events.modes.bubble.distance

number 原子抓取泡沫效果之间的距离

100

interactivity.events.modes.bubble.size

number 原子抓取泡沫效果之间的大小

40

interactivity.events.modes.bubble.duration

number 原子抓取泡沫效果之间的持续事件 (second)

0.4

interactivity.events.modes.repulse.distance

number 击退效果距离

200

interactivity.events.modes.repulse.duration

number 击退效果持续事件 (second)

1.2

interactivity.events.modes.push.particles_nb

number 粒子推出的数量

4

interactivity.events.modes.remove.particles_nb

number

4

retina_detect

boolean 视网膜检测

true / false

4 示例

5 实际效果

6 最佳实践

6.1 vue中使用

6.1.1 安装

6.1.2 引入

当你的使用范围比较小时,可以直接在当前vue文件的script中引入,即

又或者你觉得这样不好管理,一定要放在main文件中也可以

6.1.3 配置

6.1.3.1 template

这个就是动态粒子要展示的位置。

6.1.3.2 script

因为涉及到dom树,所以必须在挂载结束后初始化particles.js。第一个参数id就是你在template上取得id名, 像我要写的话就是particles。第二个参数是你的data存放的路径,个人建议使用相对路径。

6.1.3.3 script

6.1.3.4 particles.json

这个文件就相当于配置文件,用于控制粒子在页面中所呈现的状态。通过修改里边的字段,来得到自己想要的效果。 如修改particles.color.value 的值就是修改粒子的颜色;修改particle.shape就是修改粒子的外观。 至于详细的参数解析可以参考官网ps:建议放在静态资源文件夹里

6.2 效果加载失败

在实际使用过程中 出现了虽然加载 但是未能成功显示粒子效果 原因是particles的dom节点样式加载在配置文件之后 导致加载配置文件时 dom的尺寸异常 解决方案为把css样式移动到js之前 即可正常展示

参考资料

Last updated

Was this helpful?