js点击按钮动画粒子特效

所属分类:其他-动画效果

 76242  1119  查看评论 (25)
分享到微信朋友圈
X
js点击按钮动画粒子特效 ie兼容12

这是一款js点击按钮动画粒子特效。该特效在点击按钮时,按钮会以各种粒子分解的方式进行隐藏,点击重放按钮后,又会以粒子组合的方式重新组装成一个按钮,非常炫酷。

该js点击按钮动画粒子特效共有12种不同的粒子动画特效,动画使用anime.js来制作。

使用方法

在页面中引入anime.min.js和particles.min.js文件。

<script src='js/anime.min.js'></script>
<script src='js/particles.js'></script>

HTML结构

在页面中插入一个按钮。

<button >Button</button>

初始化插件

然后会通过下面的方法来初始化该js点击按钮动画粒子特效

// Initialize a new instance of Particles to disintegrate/integrate the button
var particles = new Particles('.button');
// Disintegrate the button into particles
particles.disintegrate();
// particles.integrate(); // would do the opposite

配置参数

particles.min.js插件允许我们设置配置参数,可用的配置参数如下:

参数            类型            默认值            描述            
canvasPaddingInteger150在目标元素上生成的canvas的偏移值。canvasPadding = 0表示生成的canvas和目标元素重合。
durationInteger1000粒子动画的持续时间,单位毫秒。
easingString/FunctioneaseInOutCubic粒子动画的easing效果。由anime.js传入。
typeStringcircle粒子的类型,可以是以下三种类型:circle,rectangle, triangle。
styleStringfill粒子的样式,可以是:fill,stroke。
directionStringleft目标元素开始分解为粒子的起始方向,可以是:left, right top, bottom。相反的方向用于执行合成操作。
sizeFloat/Function从1-4的随机数粒子的大小,单位像素。
speedFloat/Function-2到2的随机数粒子移动多少像素每帧。
colorString目标元素的背景颜色粒子的填充颜色。
particlesAmountCoefficientFloat3计算粒子数量的系数。particlesAmountCoefficient = 0的结果是生成0个粒子,数值越大,产生的粒子越多。
oscillationCoefficient            Float20计算粒子动画是振荡浮动的系数。oscilationCoefficient = 0表示粒子不振荡,值越大,里振荡幅度越大。
beginFunctionundefined            开始执行粒子动画前的回调函数。
completeFunctionundefined            执行粒子动画结束后的回调函数。
相关插件-动画效果

CSS3模仿四季交替动画

HTML5 CSS3卡通风格一年四季交替动画特效
  动画效果
 33592  443

bezie curve 曲线动画

bezie curve 曲线动画
  动画效果
 35142  417

three.js 创建 多面立方体

基于three.js 创建6面立方体模型 可旋转添加动画
  动画效果
 28988  313

cs3旋转动画实现地球周转

css33d效果旋转变形
  动画效果
 44150  442

讨论这个项目(25)回答他人问题或分享插件使用方法奖励jQ币 评论用户自律公约

         0
    2020/7/9 11:16:24
    只能用在button上面? font字体可以么 回复
    zy10 0
    2020/5/23 12:08:30
    兼容性是不是差了些 回复
    hjxhzml 0
    2019/11/8 16:16:16
    被大佬的动画打败了 回复
    index_52158 0
    2019/4/8 14:56:37
    恢复后会有竖线,看起来好像恢复成二维码了一样,不过整体还是挺不错的,反正谷歌浏览器是这样的,只有恢复动画执行完成后动态更新一次了,不过有点不方便,大佬看看能不能调整一下吧 回复
    _(:з」∠)_ 0
    2019/3/24 20:56:23
    秀得不要不要的
        adrian0
        2019/3/27 10:32:26
        为什么报错 getCSSValue里面得style is null
        じ、夙愿っ 0
        2020/5/9 23:42:18
        同问,particles.js:249 Uncaught TypeError: Cannot read property 'style' of null,是什么原因啊,愁死了
    回复
    搁浅 0
    2019/3/21 16:39:13
    移动端用不了
        大灰狼~zZ1
        2019/8/29 13:58:40
        particles.js 第35行有错误,this.canvas.style = 'display:none;';应为 this.canvas.style.display = 'none;'; 改了移动端就可以
    回复
    Anty-ever 0
    2019/2/22 18:04:37
    哇塞 也太厉害了吧 赞一个! 回复
    MAX§LPT 0
    2019/1/25 12:57:40
    赞一个,效果特棒 回复
    0神龙0 3
    2018/11/7 15:19:17

    试了一下大致知道用法了
    首先下载里的base.css也得导入,这样才能实现按钮的消失
    然后插入也得变

    <div><button>button</button></div>

    div的宽度设个默认值和按钮的长度一致,假如不加div,就会以body为参照,那么粒子样式就会从屏幕中间飞出
    下面是一个简单的例子:
    html:

    <div class="div" style="width:20vw">
        <button id="btn" style="width:20vw">测试</button>
    </div>

    js:

     var particles = new Particles('#btn');
     $("#btn").click(function() {
         // Disintegrate the button into particles
         //启动粒子特效
         particles.disintegrate();
    
         // would do the opposite
         //设置四秒后恢复
         setTimeout(function() {
             particles.integrate();
         }, 4000);
     })
    回复
    热闹的城、荒芜的心 0
    2018/10/30 10:08:20
    我想点击后消失自己再恢复 回复
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
😃
  • 😀
  • 😉
  • 😥
  • 😵
  • 😫
  • 😘
  • 😡
  • 👍
  • 🌹
  • 👏
  • 🍺
  • 🍉
  • 🌙
  • 💖
  • 💔
取消回复