动态颗粒背景,适合VUE、HTML前端显示
warning:
这篇文章距离上次修改已过189天,其中的内容可能已经有所变动。
在Vue中实现动态颗粒背景,可以使用canvas或者其他HTML元素进行处理。以下是一个简单的Vue组件示例,使用了canvas来创建动态的颗粒背景:
<template>
<div id="app">
<canvas id="particle-background"></canvas>
</div>
</template>
<script>
export default {
name: 'ParticleBackground',
mounted() {
this.initParticleBackground();
},
methods: {
initParticleBackground() {
const canvas = document.getElementById('particle-background');
const ctx = canvas.getContext('2d');
const particles = [];
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
function Particle() {
this.x = Math.random() * canvas.width;
this.y = Math.random() * canvas.height;
this.size = Math.random() * 2;
this.speedX = Math.random() * 0.1 - 0.05;
this.speedY = Math.random() * 0.1 - 0.05;
}
function draw() {
ctx.clearRect(0, 0, canvas.width, canvas.height);
for (let i = 0; i < particles.length; i++) {
const p = particles[i];
ctx.beginPath();
ctx.arc(p.x, p.y, p.size, 0, 2 * Math.PI);
ctx.fillStyle = 'white';
ctx.fill();
p.x += p.speedX;
p.y += p.speedY;
if (p.x > canvas.width + 5 || p.x < -5) {
p.speedX = -p.speedX;
}
if (p.y > canvas.height + 5 || p.y < -5) {
p.speedY = -p.speedY;
}
}
}
function init() {
for (let i = 0; i < 50; i++) {
particles.push(new Particle());
}
setInterval(draw, 100);
}
init();
},
},
};
</script>
<style>
#particle-background {
position: absolute;
width: 100%;
height: 100%;
z-index: -1;
}
</style>
这个组件在被挂载时,会初始化一个canvas元素,并在其上绘制动态的白色颗粒。通过定时器,每100毫秒重绘屏幕,使颗粒移动,形成动态的背景效果。你可以将这个组件直接插入到你的Vue应用中的任何位置,以展示动态颗粒背景。
评论已关闭