【NPM】particles.vue3 + tsparticles 实现粒子效果

在 NPM 官网搜索这两个库并安装:

复制代码
npm install element-plus --save
npm i tsparticles

使用提供的 vue 案例和方法:

html 复制代码
<template>
  <div>
    <vue-particles
      id="tsparticles"
      :particlesInit="particlesInit"
      :particlesLoaded="particlesLoaded"
      :options="{
        background: {
          color: {
            value: '#0d47a1'
          }
        },
        fpsLimit: 120,
        interactivity: {
          events: {
            onClick: {
              enable: true,
              mode: 'push'
            },
            onHover: {
              enable: true,
              mode: 'repulse'
            },
            resize: true
          },
          modes: {
            bubble: {
              distance: 400,
              duration: 2,
              opacity: 0.8,
              size: 40
            },
            push: {
              quantity: 4
            },
            repulse: {
              distance: 200,
              duration: 0.4
            }
          }
        },
        particles: {
          color: {
            value: '#ffffff'
          },
          links: {
            color: '#ffffff',
            distance: 150,
            enable: true,
            opacity: 0.5,
            width: 1
          },
          collisions: {
            enable: true
          },
          move: {
            direction: 'none',
            enable: true,
            outModes: {
              default: 'bounce'
            },
            random: false,
            speed: 6,
            straight: false
          },
          number: {
            density: {
              enable: true,
              area: 800
            },
            value: 80
          },
          opacity: {
            value: 0.5
          },
          shape: {
            type: 'circle'
          },
          size: {
            value: { min: 1, max: 5 },
          }
        },
        detectRetina: true
      }"
    />
  </div>
</template>

<script setup>
import { loadFull } from "tsparticles";
const particlesInit = async engine => {
  await loadFull(engine);
  // await loadSlim(engine);
};
</script>

<style lang="scss" scoped></style>

即可出现粒子效果。

相关推荐
J***Q29216 小时前
Vue数据可视化
前端·vue.js·信息可视化
ttod_qzstudio17 小时前
深入理解 Vue 3 的 h 函数:构建动态 UI 的利器
前端·vue.js
_大龄18 小时前
前端解析excel
前端·excel
槁***耿18 小时前
JavaScript在Node.js中的事件发射器
开发语言·javascript·node.js
一叶茶18 小时前
移动端平板打开的三种模式。
前端·javascript
前端大卫18 小时前
一文搞懂 Webpack 分包:async、initial 与 all 的区别【附源码】
前端
U***498318 小时前
JavaScript在Node.js中的Strapi
开发语言·javascript·node.js
Want59518 小时前
HTML音乐圣诞树
前端·html
老前端的功夫19 小时前
前端浏览器缓存深度解析:从网络请求到极致性能优化
前端·javascript·网络·缓存·性能优化
Running_slave19 小时前
你应该了解的TCP滑窗
前端·网络协议·tcp/ip