Comment concevoir un fond de bulle avec javascript

PHPz
Libérer: 2023-04-23 19:40:04
original
505 Les gens l'ont consulté

Le fond de bulles est un élément de conception fréquemment utilisé qui offre un impact visuel et un intérêt en imitant la forme et l'effet gonflant des bulles. Dans le monde du développement Web, JavaScript est un langage très flexible qui peut être utilisé pour créer une variété d'effets dynamiques, notamment des arrière-plans de bulles. Cet article présentera aux lecteurs comment utiliser JavaScript pour concevoir des arrière-plans de bulles, ainsi que plusieurs méthodes d'implémentation courantes.

Première méthode d'implémentation : utiliser CSS et JavaScript

Dans cette méthode d'implémentation, nous utilisons CSS pour dessiner le style des bulles, puis contrôlons la position et l'animation des bulles via JavaScript. Voici les étapes de mise en œuvre :

1. Créer du code HTML et CSS

Nous devons utiliser HTML et CSS pour créer le style de l'arrière-plan de la bulle. Le code HTML est le suivant :

<div class="bubbles-container">
  <!-- 用于填充气泡的元素 -->
</div>
Copier après la connexion

Le code CSS est le suivant :

.bubbles-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.bubble {
  position: absolute;
  border-radius: 50%;
  background: #fff;
  opacity: 0.8;
  z-index: 1;
  transform: scale(0);
  animation: bubble 2s ease-out infinite;
}

@keyframes bubble {
  0% {
    transform: scale(0);
    opacity: 0.8;
  }
  50% {
    transform: scale(1);
    opacity: 0.4;
  }
  100% {
    transform: scale(0);
    opacity: 0.8;
  }
}
Copier après la connexion

Parmi eux, l'élément .bubbles-container est utilisé pour contenir tous les éléments des bulles et est positionné en positionnement relatif. . L'élément .bubble est conçu comme une bulle, utilisant un positionnement absolu et définissant une bordure circulaire et une couleur d'arrière-plan. .bubbles-container元素用来包含气泡的所有元素,并设置为相对定位。.bubble元素是气泡的样式,使用绝对定位并设置圆形边界和背景颜色。

2.创建JavaScript代码

接下来,我们需要使用JavaScript控制气泡的位置和动画。代码如下:

let bubbleContainer = document.querySelector('.bubbles-container');
let width = window.innerWidth;
let height = window.innerHeight;
let totalBubbles = 50;

for (let i = 0; i < totalBubbles; i++) {
  let bubble = document.createElement(&#39;div&#39;);
  bubble.classList.add(&#39;bubble&#39;);
  bubble.style.left = `${Math.random() * width}px`;
  bubble.style.top = `${Math.random() * height}px`;
  bubble.style.animationDelay = `${Math.random() * 2}s`;
  bubbleContainer.appendChild(bubble);
}
Copier après la connexion

这段代码首先找到.bubbles-container元素,并获取浏览器窗口的宽度和高度。然后,使用一个循环来创建一定数量的气泡(在此例中是50个)。每个气泡都是一个div元素,具有bubble类。我们还使用Math.random()函数来随机设置每个气泡的位置和动画延迟。

第二种实现方式:使用Canvas和JavaScript

另一种实现气泡背景的方式是使用Canvas和JavaScript编写代码。这种方式可以实现更多定制功能,并且更灵活。以下是实现步骤:

1.创建HTML代码

在这种情况下,我们只需要在HTML文件中添加一个Canvas元素,用于绘制气泡背景:

<canvas id="bubbles-canvas"></canvas>
Copier après la connexion

2.创建JavaScript代码

接下来,我们需要使用JavaScript来绘制气泡背景。代码如下:

let canvas = document.getElementById('bubbles-canvas');
let context = canvas.getContext('2d');
let width = window.innerWidth;
let height = window.innerHeight;
let bubbles = [];

canvas.width = width;
canvas.height = height;

function Bubble(x, y, r) {
  this.x = x;
  this.y = y;
  this.r = r;
  this.color = '#fff';
  this.vx = Math.random() - 0.5;
  this.vy = Math.random() * 2 - 1;

  this.draw = function() {
    context.beginPath();
    context.arc(this.x, this.y, this.r, 0, Math.PI * 2, false);
    context.fillStyle = this.color;
    context.fill();
  };

  this.update = function() {
    this.x += this.vx;
    this.y += this.vy;

    if (this.x + this.r < 0) {
      this.x = width + this.r;
    }

    if (this.x - this.r > width) {
      this.x = -this.r;
    }

    if (this.y + this.r < 0) {
      this.y = height + this.r;
    }

    if (this.y - this.r > height) {
      this.y = -this.r;
    }
  };
}

for (let i = 0; i < 50; i++) {
  let bubble = new Bubble(
    Math.random() * width,
    Math.random() * height,
    Math.random() * 50
  );
  bubble.draw();
  bubbles.push(bubble);
}

function loop() {
  context.clearRect(0, 0, width, height);

  for (let i = 0; i < bubbles.length; i++) {
    bubbles[i].update();
    bubbles[i].draw();
  }

  requestAnimationFrame(loop);
}

loop();
Copier après la connexion

这段代码创建了一个Canvas元素,并为其创建了一个2D上下文。我们还创建了一个气泡对象,并使用一个循环来创建多个气泡。在每个气泡的draw()函数中,我们使用context.beginPath()context.arc()context.fill()绘制了一个圆形。在update()函数中,我们为每个气泡设置速度和边缘检查。最后,我们使用requestAnimationFrame()

2. Créer du code JavaScript

Ensuite, nous devons utiliser JavaScript pour contrôler la position et l'animation des bulles. Le code est le suivant :

rrreee

Ce code trouve d'abord l'élément .bubbles-container et obtient la largeur et la hauteur de la fenêtre du navigateur. Ensuite, utilisez une boucle pour créer un certain nombre de bulles (50 dans ce cas). Chaque bulle est un élément div de classe bubble. Nous utilisons également la fonction Math.random() pour définir aléatoirement la position et le délai d'animation de chaque bulle. 🎜🎜Deuxième méthode d'implémentation : utiliser Canvas et JavaScript🎜🎜Une autre façon d'implémenter l'arrière-plan de bulles consiste à écrire du code à l'aide de Canvas et JavaScript. Cette approche permet une plus grande personnalisation et est plus flexible. Voici les étapes de mise en œuvre : 🎜🎜1. Créer du code HTML 🎜🎜 Dans ce cas, il suffit d'ajouter un élément Canvas au fichier HTML pour dessiner le fond de la bulle : 🎜rrreee🎜2 Créer du code JavaScript 🎜🎜Ensuite, nous. vous devez utiliser JavaScript pour dessiner l'arrière-plan de la bulle. Le code est le suivant : 🎜rrreee🎜Ce code crée un élément Canvas et crée un contexte 2D pour celui-ci. Nous créons également un objet bulle et utilisons une boucle pour créer plusieurs bulles. Dans la fonction draw() de chaque bulle, nous utilisons context.beginPath(), context.arc() et context .fill( )dessine un cercle. Dans la fonction update(), nous définissons la vitesse et les contrôles de bord pour chaque bulle. Enfin, nous utilisons la fonction requestAnimationFrame() pour créer une boucle infinie afin d'afficher dynamiquement le goût de la bulle. 🎜🎜Conclusion🎜🎜Cet article présente deux méthodes JavaScript courantes pour implémenter l'arrière-plan de bulles, à savoir l'utilisation de CSS et JavaScript et l'utilisation de Canvas et JavaScript. Ces techniques peuvent certainement ajouter de l’intérêt et un attrait visuel au site Web que vous créez. Que vous soyez nouveau dans le développement Web ou vétéran, apprendre à utiliser ces techniques vous permettra de vous démarquer dans le monde du développement Web. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal