Maison >interface Web >js tutoriel >Comment s'assurer qu'une image d'arrière-plan est chargée avant de styliser le corps ?

Comment s'assurer qu'une image d'arrière-plan est chargée avant de styliser le corps ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-17 20:55:02702parcourir

How to Ensure a Background Image is Loaded Before Styling the Body?

Comment vérifier si une image d'arrière-plan est chargée

Afin de garantir qu'une image d'arrière-plan est complètement chargée avant d'exécuter un code, tel en modifiant le style de la balise body, une approche alternative est nécessaire. Voici une solution détaillée :

  1. Création d'un objet image :
const image = new Image();
  1. Définition de la source de l'image :
image.src = 'http://picture.de/image.png';
  1. Utilisation de l'événement de chargement :
image.addEventListener('load', function() {
  // Code to be executed after the image is loaded
});
  1. Application de l'image d'arrière-plan :

Une fois l'image chargée, vous pouvez procéder à son application comme image d'arrière-plan :

const body = document.querySelector('body');
body.style.backgroundImage = `url('${image.src}')`;
  1. Utiliser une solution basée sur des promesses :

Pour une approche plus structurée, une fonction basée sur des promesses peut être utilisée :

function loadImage(src) {
  return new Promise((resolve, reject) => {
    const image = new Image();
    image.addEventListener('load', () => resolve(image));
    image.addEventListener('error', () => reject(`Failed to load image: ${src}`));
    image.src = src;
  });
}

loadImage('http://picture.de/image.png').then(image => {
  body.style.backgroundImage = `url('${image.src}')`;
});

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!

Déclaration:
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