Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

วิธีสร้าง Modal Image Gallery ด้วย CSS และ JavaScript


โค้ดต่อไปนี้เป็นการสร้าง Modal Image Gallery ด้วย CSS และ JavaScript

ตัวอย่าง

<!DOCTYPE html> <html> <head> <meta name="viewport" content="width=device-width, initial-scale=1" /> <style> * {    box-sizing: border-box; } h1 {    text-align: center; } .ImgThumbnail {    border-radius: 5px;    cursor: pointer;    transition: 0.3s;    height: 250px;    width: 250px; } .ImgThumbnail:nth-of-type(1) {    margin-left: 20%; } .modal {    display: none;    position: fixed;    z-index: 1;    padding-top: 100px;    left: 0;    top: 0;    width: 100%;    height: 100%;    overflow: auto;    background-color: rgb(0, 0, 0);    background-color: rgba(0, 0, 0, 0.9); } .modalImage {    margin: auto;    display: block;    width: 50%;    height: 60%;    max-width: 700px; } #caption {    margin: auto;    display: block;    width: 80%;    max-width: 700px;    text-align: center;    color: #ccc;    padding: 10px 0;    height: 150px; } .close {    position: absolute;    top: 15px;    right: 35px;    color: #f1f1f1;    font-size: 40px;    font-weight: bold;    transition: 0.3s; } .close:hover, .close:focus {    color: rgb(255, 0, 0);    cursor: pointer; } @media only screen and (max-width: 700px) {    .modalImage {       width: 100%;    } } </style> </head> <body> <h1>Image Modal Gallery Example</h1> <img class="ImgThumbnail" src="https://images.pexels.com/photos/3540375/pexels-photo-3540375.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=650&w=940"/> <img class="ImgThumbnail" src="https://i.picsum.photos/id/237/536/354.jpg"/> <img class="ImgThumbnail" src="https://images.pexels.com/photos/3802510/pexels-photo-3802510.jpeg?auto=compress&cs=tinysrgb&dpr=1&w=500"/> <!-- The Modal --><div class="modal"> <span class="close">×</span> <img class="modalImage" id="img01" /> </div> <script> var modalEle = document.querySelector(".modal"); var modalImage = document.querySelector(".modalImage"); Array.from(document.querySelectorAll(".ImgThumbnail")).forEach(item => {    item.addEventListener("click", event => {       modalEle.style.display = "block";       modalImage.src = event.target.src;    }); }); document.querySelector(".close").addEventListener("click", () => {    modalEle.style.display = "none"; }); </script> </body> </html>

ผลลัพธ์

โค้ดข้างต้นจะสร้างผลลัพธ์ดังนี้

วิธีสร้าง Modal Image Gallery ด้วย CSS และ JavaScript

เมื่อคลิกที่รูปภาพใดๆ

วิธีสร้าง Modal Image Gallery ด้วย CSS และ JavaScript