成功撒花特效

基础效果:
成功撒花特效_第1张图片

前端安装并引入canvas-confetti包
如有问题请使用满血版DeepSeek/国内直连GPT/Claude解答

1.安装

npm install --save canvas-confetti

2.在前端代码中引用

import confetti from 'canvas-confetti';

2.在前端代码中使用

把下面这个直接放到你的函数里面,调用即可,调用时机由自己控制,比如成功状态或者其他时机

        confetti({
            particleCount: 100,
            spread: 70,
            origin: { y: 0.6 }
        });

以上是基础撒花效果

3.更多示例

3.1随机方向撒花


代码配置如下:

          function randomInRange(min, max) {
            return Math.random() * (max - min) + min;
          }
          
          confetti({
            angle: randomInRange(55, 125),
            spread: randomInRange(50, 70),
            particleCount: randomInRange(50, 100),
            origin: { y: 0.6 }
          });

3.2更多粒子下/更真实特效

var count = 200;
var defaults = {
  origin: { y: 0.7 }
};

function fire(particleRatio, opts) {
  confetti({
    ...defaults,
    ...opts,
    particleCount: Math.floor(count * particleRatio)
  });
}

fire(0.25, {
  spread: 26,
  startVelocity: 55,
});
fire(0.2, {
  spread: 60,
});
fire(0.35, {
  spread: 100,
  decay: 0.91,
  scalar: 0.8
});
fire(0.1, {
  spread: 120,
  startVelocity: 25,
  decay: 0.92,
  scalar: 1.2
});
fire(0.1, {
  spread: 120,
  startVelocity: 45,
});

3.3 星光特效

成功撒花特效_第2张图片

var defaults = {
  spread: 360,
  ticks: 50,
  gravity: 0,
  decay: 0.94,
  startVelocity: 30,
  colors: ['FFE400', 'FFBD00', 'E89400', 'FFCA6C', 'FDFFB8']
};

function shoot() {
  confetti({
    ...defaults,
    particleCount: 40,
    scalar: 1.2,
    shapes: ['star']
  });

  confetti({
    ...defaults,
    particleCount: 10,
    scalar: 0.75,
    shapes: ['circle']
  });
}

setTimeout(shoot, 0);
setTimeout(shoot, 100);
setTimeout(shoot, 200);

你可能感兴趣的:(css特效,撒花特效,撒花动画,成功特效,前端,前端开发)