Dalam HTML, elemen imej digunakan untuk memaparkan imej pada halaman web. Dapatkan berbilang atribut mengikut keperluan, seperti 'src', 'alttext', 'height', 'width', dsb.
Dalam sesetengah kes, kita perlu menambahkan imej secara dinamik pada halaman web. Sebagai contoh, kami menyimpan jumlah data filem yang tidak diketahui dalam pangkalan data. Kami perlu mendapatkan data filem dan kami perlu memaparkan imej filem bersama dengan butiran setiap filem. Dalam kes ini, kita perlu menggunakan JavaScript untuk menambahkan imej dan data pada DOM.
Seterusnya, kita akan belajar menggunakan JavaScript untuk menambah elemen imej pada halaman web.
document.createElement() mencipta sebarang elemen HTML menggunakan JavaScript. Ia mengambil nama teg sebagai parameter dan mengembalikan elemen HTML.
Selepas mencipta elemen HTML dalam JavaScript, kami boleh mengubah suai pelbagai atributnya dan menambahkannya pada DOM untuk memaparkan imej pada halaman web.
Pengguna boleh menggunakan kaedah document.createElement() untuk mencipta elemen imej secara dinamik mengikut sintaks berikut.
let dynamicImage = document.createElement('img'); dynamicImage.src = URL;
Dalam sintaks di atas, kami mencipta elemen imej menggunakan kaedah createElement() dan mengemas kini atribut "src" bagi elemen imej.
Dalam contoh di bawah, kami mula-mula mencipta elemen imej. Selepas itu, kami mengemas kini atribut "src"nya dengan URL imej yang ingin kami paparkan pada halaman web.
Seterusnya, kami mengakses elemen div yang dipratentukan daripada DOM menggunakan idnya dan menambahkan imej yang baru dibuat sebagai anak kepada elemen div menggunakan kaedah appendChild().
Dalam output, pengguna boleh melihat bahawa imej ditambah menggunakan 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>
Dalam contoh di bawah, kami mencipta butang. Setiap kali pengguna mengklik butang, ia melaksanakan fungsi createImage().
Dalam fungsi createImage(), kami menggunakan kaedah createElement() untuk mencipta elemen imej baharu dan mengemas kini nilai atribut "src"nya. Selain itu, kami menggunakan kaedah setAttribute() untuk menetapkan id, ketinggian dan lebar imej.
Dalam output, pengguna boleh mengklik butang untuk melihat imej dalam saiz 200 x 200. Walau bagaimanapun, pengguna boleh menukar dimensi dalam kod dan menjalankan kod untuk memerhatikan output.
<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>
image() ialah pembina yang digunakan untuk mencipta contoh elemen imej dalam JavaScript. Kami mencipta contoh imej dalam JavaScript menggunakan pembina dengan kata kunci "baru" dan melampirkannya pada objek DOM.
Pengguna boleh mencipta imej melalui JavaScript menggunakan pembina Image() mengikut sintaks berikut.
Let img = new Image(); img.src = URL;
Dalam sintaks di atas, kami mencipta contoh elemen imej menggunakan pembina image() dan mengemas kini nilai atribut srcnya.
Dalam contoh di bawah, apabila pengguna mengklik butang, ia melaksanakan fungsi createImage() untuk menambahkan secara dinamik pada DOM.
Dalam fungsi createImage(), kami memulakan contoh imej menggunakan pembina Image() dan kemudian mengemas kini nilai atribut srcnya. Selain itu, kami menetapkan lebar dan ketinggian imej dengan mengemas kini nilai atribut dan melampirkannya sebagai anak kepada elemen 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>
Dalam contoh di bawah, kami menggunakan JavaScript untuk melampirkan berbilang imej pada halaman web.
Dalam fungsi addMultiple(), kami mempunyai pelbagai url imej. Kami mengulangi tatasusunan dan pada setiap lelaran mencipta elemen imej baharu, mengemas kini atribut src dengan URL sumber yang diberikan dan menambahnya pada DOM.
Dalam output, pengguna boleh mengklik butang untuk melihat lima imej dinamik pada halaman web. Selain itu, imej berubah setiap kali pengguna mengklik butang.
<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>
Kami mempelajari dua cara untuk melampirkan imej secara dinamik pada elemen Dom. Kaedah createElement() mencipta contoh mana-mana elemen HTML, termasuk elemen imej. Pembina image() hanya digunakan untuk mencipta contoh elemen imej, bukan elemen HTML lain.
Selain itu, seperti dalam contoh sebelumnya, kami mungkin mendapat pelbagai URL imej semasa pembangunan masa nyata dan perlu menambah berbilang imej dinamik pada halaman web.
Atas ialah kandungan terperinci Bagaimana untuk mencipta elemen imej secara dinamik menggunakan JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!