Maison  >  Article  >  interface Web  >  Comment créer dynamiquement des éléments d’image en utilisant JavaScript ?

Comment créer dynamiquement des éléments d’image en utilisant JavaScript ?

王林
王林avant
2023-08-24 18:21:141176parcourir

Comment créer dynamiquement des éléments d’image en utilisant JavaScript ?

En HTML, l'élément image est utilisé pour afficher des images sur une page Web. Obtenez plusieurs attributs en fonction des exigences, tels que « src », « alttext », « hauteur », « largeur », etc.

Dans certains cas, nous devons ajouter dynamiquement des images à la page Web. Par exemple, nous stockons une quantité inconnue de données cinématographiques dans une base de données. Nous devons obtenir des données de film et afficher des images de film ainsi que des détails sur chaque film. Dans ce cas, nous devons utiliser JavaScript pour ajouter l'image et les données au DOM.

Ensuite, nous apprendrons à utiliser JavaScript pour ajouter des éléments d'image aux pages Web.

Utilisez la méthode Document.createElement()

La méthode document.createElement() crée n'importe quel élément HTML à l'aide de JavaScript. Il prend le nom de la balise en paramètre et renvoie l'élément HTML.

Après avoir créé l'élément HTML en JavaScript, nous pouvons modifier ses différents attributs et l'ajouter au DOM pour afficher l'image sur la page Web.

Grammaire

Les utilisateurs peuvent utiliser la méthode document.createElement() pour créer dynamiquement des éléments d'image selon la syntaxe suivante.

let dynamicImage = document.createElement('img');
dynamicImage.src = URL;

Dans la syntaxe ci-dessus, nous avons créé l'élément image à l'aide de la méthode createElement() et mis à jour l'attribut "src" de l'élément image.

Exemple

Dans l'exemple ci-dessous, nous créons d'abord l'élément image. Après cela, nous mettons à jour son attribut "src" avec l'URL de l'image que nous souhaitons afficher sur la page Web.

Ensuite, nous accédons à l'élément div prédéfini à partir du DOM en utilisant son identifiant et ajoutons l'image nouvellement créée en tant qu'enfant de l'élément div à l'aide de la méthode appendChild().

Dans la sortie, l'utilisateur peut constater que l'image est ajoutée à l'aide de JavaScript.

<html>
<body>
   <h3>Using the <i> document.createElement() method </i> to Create image element dynamically using JavaScript </h3>
   <div id = "img"> </div>
   <script>
      let img = document.getElementById('img');
      // Create image element
      let dynamicImage = document.createElement('img');
      // Initialize the image source
      dynamicImage.src = "https://www.tutorialspoint.com/static/images/logo.png";
      // Add image to DOM
      img.appendChild(dynamicImage);
   </script>
</body>
</html>

Exemple

Dans l'exemple ci-dessous, nous créons des boutons. Chaque fois que l'utilisateur clique sur le bouton, il exécute la fonction createImage().

Dans la fonction createImage(), nous utilisons la méthode createElement() pour créer un nouvel élément d'image et mettre à jour la valeur de son attribut "src". De plus, nous utilisons la méthode setAttribute() pour définir l'identifiant, la hauteur et la largeur de l'image.

Dans la sortie, l'utilisateur peut cliquer sur le bouton pour afficher l'image au format 200 x 200. Cependant, l'utilisateur peut modifier les dimensions dans le code et exécuter le code pour observer le résultat.

<html>
<body>
   <h3>Using the <i> document.createElement() method </i> to Create image element dynamically using JavaScript </h3>
   <div id = "img"> </div>
   <button id = "addImage" onclick = "createImage()"> Create Image </button>
   <script>
      function createImage() {
         let img = document.getElementById('img');
         let newImage = document.createElement('img');
         newImage.src = "https://www.tutorialspoint.com/static/images/simply-easy-learning.png";
         // Set attribute values for the image
         newImage.setAttribute('id', 'myImage');
         newImage.setAttribute('width', '200px');
         newImage.setAttribute('height', '200px');
         img.appendChild(newImage);
      }
   
   </script>
</body>
</html>

Utilisez le constructeur Image()

image() est un constructeur utilisé pour créer des instances d'éléments d'image en JavaScript. Nous créons une instance de l'image en JavaScript en utilisant le constructeur avec le mot-clé "new" et l'attachons à l'objet DOM.

Grammaire

Les utilisateurs peuvent créer des images via JavaScript à l'aide du constructeur Image() selon la syntaxe suivante.

Let img = new Image();
img.src = URL;

Dans la syntaxe ci-dessus, nous avons créé une instance de l'élément image à l'aide du constructeur image() et mis à jour la valeur de son attribut src.

Exemple

Dans l'exemple ci-dessous, lorsque l'utilisateur clique sur le bouton, il exécute la fonction createImage() pour l'ajouter dynamiquement au DOM.

Dans la fonction createImage(), nous initialisons l'instance d'image à l'aide du constructeur Image() puis mettons à jour la valeur de son attribut src. De plus, nous définissons la largeur et la hauteur de l'image en mettant à jour les valeurs des attributs et en l'attachant en tant qu'enfant de l'élément div.

<html>
<body>
   <h3>Using the <i> Image() constructor </i> to Create image element dynamically using JavaScript</h3>
   <div id = "img"> </div>
   <button id = "addImage" onclick = "createImage()"> Create Image </button>
   <script>
      function createImage() {
         let img = document.getElementById('img');
         let devImage = new Image();
         devImage.src = "https://www.tutorialspoint.com/static/images/development.svg";
         devImage.setAttribute('width', '300px');
         devImage.setAttribute('height', '300px');
         img.appendChild(devImage);
      }
   </script>
</body>
</html>

Exemple

Dans l'exemple ci-dessous, nous utilisons JavaScript pour joindre plusieurs images à une page Web.

Dans la fonction addMultiple(), nous avons un tableau d'URL d'images. Nous parcourons le tableau et à chaque itération créons un nouvel élément d'image, mettons à jour l'attribut src avec l'URL source donnée et l'ajoutons au DOM.

Dans la sortie, l'utilisateur peut cliquer sur le bouton pour voir cinq images dynamiques sur la page Web. De plus, l'image change chaque fois que l'utilisateur clique sur le bouton.

<html>
<body>
   <h3>Using the <i> Image() constructor </i> to Create image element dynamically using JavaScript</h3>
   <div id = "img"> </div>
   <br> <br>
   <button id = "addImage" onclick = "AddMultiple()"> Add Multiple Images </button>
   <script>
      function AddMultiple() {
         let img = document.getElementById('img');
         let imageURLS = [
            "https://picsum.photos/200/300",
            "https://picsum.photos/200/300/?blur",
            "https://picsum.photos/200/300.webp",
            "https://picsum.photos/200",
            "https://picsum.photos/200/300"
         ]
         // Fetch random images and append to the DOM
         for (let i = 0; i < 5; i++) {
            let randomImage = new Image();
            randomImage.src = imageURLS[i];
            randomImage.alt = "Random Image";
            randomImage.width = 100;
            randomImage.height = 100;
            // Add right and left margin to the image
            randomImage.style.marginRight = "10px";
            randomImage.style.marginLeft = "10px";
            img.appendChild(randomImage);
         }
      }
   </script>
</body>
</html>

Nous avons appris deux façons d'attacher dynamiquement des images aux éléments Dom. La méthode createElement() crée une instance de n'importe quel élément HTML, y compris les éléments image. Le constructeur image() est utilisé uniquement pour créer des instances d'éléments image, pas d'autres éléments HTML.

De plus, comme dans l'exemple précédent, nous pouvons obtenir un tableau d'URL d'images lors du développement en temps réel et devoir ajouter plusieurs images dynamiques à la page 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer