Heim  >  Artikel  >  Web-Frontend  >  Wie erstelle ich Bildelemente dynamisch mit JavaScript?

Wie erstelle ich Bildelemente dynamisch mit JavaScript?

王林
王林nach vorne
2023-08-24 18:21:141176Durchsuche

Wie erstelle ich Bildelemente dynamisch mit JavaScript?

In HTML wird das Bildelement verwendet, um Bilder auf einer Webseite anzuzeigen. Rufen Sie je nach Bedarf mehrere Attribute ab, z. B. „src“, „alttext“, „height“, „width“ usw.

In einigen Fällen müssen wir Bilder dynamisch zur Webseite hinzufügen. Beispielsweise speichern wir eine unbekannte Menge an Filmdaten in einer Datenbank. Wir benötigen Filmdaten und müssen Filmbilder zusammen mit Details zu jedem Film anzeigen. In diesem Fall müssen wir JavaScript verwenden, um das Bild und die Daten an das DOM anzuhängen.

Als nächstes lernen wir, JavaScript zu verwenden, um Bildelemente zu Webseiten hinzuzufügen.

Verwenden Sie die Document.createElement()-Methode

Die Methode

document.createElement() erstellt jedes HTML-Element mit JavaScript. Es nimmt den Tag-Namen als Parameter und gibt das HTML-Element zurück.

Nachdem wir das HTML-Element in JavaScript erstellt haben, können wir seine verschiedenen Attribute ändern und es an das DOM anhängen, um das Bild auf der Webseite anzuzeigen.

Grammatik

Benutzer können die Methode document.createElement() verwenden, um Bildelemente gemäß der folgenden Syntax dynamisch zu erstellen.

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

In der obigen Syntax haben wir das Bildelement mit der Methode createElement() erstellt und das „src“-Attribut des Bildelements aktualisiert.

Beispiel

Im Beispiel unten erstellen wir zunächst das Bildelement. Danach aktualisieren wir sein „src“-Attribut mit der URL des Bildes, das wir auf der Webseite anzeigen möchten.

Als nächstes greifen wir über seine ID auf das vordefinierte div-Element aus dem DOM zu und hängen das neu erstellte Bild als untergeordnetes Element des div-Elements mit der Methode appendChild() an.

In der Ausgabe kann der Benutzer beobachten, dass das Bild mithilfe von JavaScript hinzugefügt wird.

<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>

Beispiel

Im folgenden Beispiel erstellen wir Schaltflächen. Immer wenn der Benutzer auf die Schaltfläche klickt, führt er die Funktion createImage() aus.

In der Funktion createImage() verwenden wir die Methode createElement(), um ein neues Bildelement zu erstellen und seinen Attributwert „src“ zu aktualisieren. Darüber hinaus verwenden wir die Methode setAttribute(), um die ID, Höhe und Breite des Bildes festzulegen.

In der Ausgabe kann der Benutzer auf die Schaltfläche klicken, um das Bild in der Größe 200 x 200 anzuzeigen. Der Benutzer kann jedoch die Dimensionen im Code ändern und den Code ausführen, um die Ausgabe zu beobachten.

<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>

Verwenden Sie den Image()-Konstruktor

image() ist ein Konstruktor, der zum Erstellen von Instanzen von Bildelementen in JavaScript verwendet wird. Wir erstellen eine Instanz des Bildes in JavaScript mithilfe des Konstruktors mit dem Schlüsselwort „new“ und hängen es an das DOM-Objekt an.

Grammatik

Benutzer können Bilder über JavaScript mit dem Image()-Konstruktor gemäß der folgenden Syntax erstellen.

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

In der obigen Syntax haben wir mit dem image()-Konstruktor eine Instanz des Bildelements erstellt und den Wert seines src-Attributs aktualisiert.

Beispiel

Wenn der Benutzer im folgenden Beispiel auf die Schaltfläche klickt, führt er die Funktion createImage() aus, um dynamisch an das DOM anzuhängen.

In der Funktion createImage() initialisieren wir die Bildinstanz mit dem Image()-Konstruktor und aktualisieren dann den Wert ihres src-Attributs. Darüber hinaus legen wir die Breite und Höhe des Bildes fest, indem wir die Attributwerte aktualisieren und es als untergeordnetes Element des div-Elements anhängen.

<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>

Beispiel

Im folgenden Beispiel verwenden wir JavaScript, um mehrere Bilder an eine Webseite anzuhängen.

In der Funktion addMultiple() haben wir ein Array von Bild-URLs. Wir durchlaufen das Array und erstellen bei jeder Iteration ein neues Bildelement, aktualisieren das src-Attribut mit der angegebenen Quell-URL und hängen es an das DOM an.

In der Ausgabe kann der Benutzer auf die Schaltfläche klicken, um fünf dynamische Bilder auf der Webseite anzuzeigen. Darüber hinaus ändert sich das Bild jedes Mal, wenn der Benutzer auf die Schaltfläche klickt.

<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>

Wir haben zwei Möglichkeiten kennengelernt, Bilder dynamisch an Dom-Elemente anzuhängen. Die Methode createElement() erstellt eine Instanz eines beliebigen HTML-Elements, einschließlich Bildelementen. Der image()-Konstruktor wird nur zum Erstellen von Instanzen von Bildelementen verwendet, nicht von anderen HTML-Elementen.

Darüber hinaus erhalten wir, wie im vorherigen Beispiel, während der Echtzeitentwicklung möglicherweise eine Reihe von Bild-URLs und müssen der Webseite mehrere dynamische Bilder hinzufügen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich Bildelemente dynamisch mit JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen