tsParticlesTrail效果:创建跟随鼠标的粒子轨迹

tsParticlesTrail效果:创建跟随鼠标的粒子轨迹

【免费下载链接】tsparticles tsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components. 【免费下载链接】tsparticles 项目地址: https://gitcode.com/gh_mirrors/ts/tsparticles

你是否曾想为网站添加令人惊艳的交互效果?tsParticles的Trail(轨迹)效果能让鼠标移动时产生梦幻般的粒子跟随效果,为静态页面注入生命力。本文将详解实现步骤,无需复杂编程知识,10分钟即可上手。

Trail效果核心原理

Trail效果通过捕捉鼠标坐标变化,在移动路径上生成临时粒子并设置衰减动画,形成跟随轨迹。该功能由effects/trail/模块实现,支持粒子数量、颜色渐变、生命周期等参数自定义。

实现流程图

mermaid

快速开始:3步集成Trail效果

1. 引入资源

通过国内CDN加载tsParticles核心库和Trail效果插件:

<script src="https://cdn.jsdelivr.net/npm/tsparticles@2.12.0/tsparticles.bundle.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/@tsparticles/effect-trail@2.12.0/tsparticles.effect.trail.min.js"></script>

2. 创建容器

在HTML中添加粒子画布容器:

<div id="tsparticles" style="width: 100%; height: 400px;"></div>

3. 初始化配置

通过JavaScript启动Trail效果:

(async () => {
  await loadTrailEffect(tsParticles);
  
  await tsParticles.load({
    id: "tsparticles",
    options: {
      particles: {
        number: { value: 80 },
        color: { value: "#ff0000" },
        shape: { type: "circle" },
        opacity: { value: 0.5 }
      },
      interactivity: {
        events: {
          onHover: { enable: true, mode: "trail" }
        },
        modes: {
          trail: {
            delay: 0.005,
            quantity: 5,
            particles: {
              color: { value: "#00ff00" },
              shape: { type: "star" },
              life: { duration: 1 }
            }
          }
        }
      }
    }
  });
})();

配置参数详解

基础参数

参数类型默认值说明
delaynumber0.005粒子生成间隔(秒)
quantitynumber5每次生成粒子数量
particlesobject-轨迹粒子样式配置

高级样式定制

通过修改particles子配置实现多样化效果:

trail: {
  particles: {
    color: { 
      value: ["#ff0000", "#00ff00", "#0000ff"],
      animation: { enable: true, speed: 20 }
    },
    shape: { type: "square" },
    size: { value: { min: 2, max: 8 } },
    life: { duration: 2, sync: false }
  }
}

实际效果演示

官方Demo中已集成Trail效果预设,可直接体验:

Demo页面(选择"Trails"预设)

常见应用场景

  1. 官网首页背景
  2. 产品展示区域交互
  3. 按钮悬停特效
  4. 游戏界面引导

性能优化建议

  1. 控制粒子数量(建议≤50)
  2. 缩短生命周期(duration≤2秒)
  3. 禁用移动设备触摸追踪:
interactivity: {
  events: {
    onHover: { enable: true },
    onTouch: { enable: false }
  }
}

完整示例代码

完整配置文件可参考项目仓库:tsParticles配置示例

// 完整配置示例
const trailConfig = {
  particles: {
    number: { value: 50 },
    color: { value: "#ffffff" },
    shape: { type: "circle" },
    opacity: { value: 0.8 },
    size: { value: 3 },
    links: { enable: false }
  },
  interactivity: {
    events: {
      onHover: {
        enable: true,
        mode: "trail"
      }
    },
    modes: {
      trail: {
        delay: 0.005,
        quantity: 5,
        particles: {
          color: { value: "#ff00ff" },
          shape: { type: "circle" },
          size: { value: 2 },
          life: { duration: 1 }
        }
      }
    }
  }
};

扩展阅读

通过Trail效果,简单几行代码即可让页面交互体验提升一个档次。尝试不同参数组合,创造独特的视觉效果吧!

【免费下载链接】tsparticles tsParticles - Easily create highly customizable JavaScript particles effects, confetti explosions and fireworks animations and use them as animated backgrounds for your website. Ready to use components available for React.js, Vue.js (2.x and 3.x), Angular, Svelte, jQuery, Preact, Inferno, Solid, Riot and Web Components. 【免费下载链接】tsparticles 项目地址: https://gitcode.com/gh_mirrors/ts/tsparticles

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值