3 回答

TA貢獻1777條經驗 獲得超10個贊
ID 必須是唯一的,不能重復。
更改:id="myImg"至class="myImg"
更改:#myImg:hover至.myImg:hover
新的 javascript,循環遍歷圖像
window.onload = function() {
var modal = document.getElementById('myModal');
var imgs = document.querySelectorAll('.myImg');
var modalImg = document.getElementById("img01");
var captionText = document.getElementById("caption");
imgs.forEach(function(img){
img.onclick = function() {
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
});
var span = document.getElementsByClassName("close")[0];
span.onclick = function() {
modal.style.display = "none";
}
}

TA貢獻2019條經驗 獲得超9個贊
每個元素的屬性 ID 都是唯一的。而 document.getElementById 將只選擇文檔中存在的第一個元素。
var lightboxes = document.querySelectorAll('.lightbox');
function lightboxModal(e) {
const src = e.target.getAttribute('src');
//do your modal here
}
lightboxes.forEach((el) => {
el.addEventListener('click', lightboxModal);
});
<img src="https://randomwordgenerator.com/img/picture-generator/53e2d0464f5baf14f1dc8460962e33791c3ad6e04e507440742a7ad59f49c3_640.jpg" class="lightbox" />
<img src="https://picsum.photos/536/354" class="lightbox" />

TA貢獻1891條經驗 獲得超3個贊
你在哪里
img.onclick = function() {
modal.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
您現在需要添加所有圖像,所以
var fullSizeFunc = function(e) {
model.style.display = "block";
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}
document.querySelectorAll("IMG").forEach(function(i, val) {
this.addEventListener("click", fullSizeFunc);
});
添加回答
舉報