亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

嘗試讓 JavaScript 在單擊時使圖像變大,僅適用于第一張圖像

嘗試讓 JavaScript 在單擊時使圖像變大,僅適用于第一張圖像

躍然一笑 2022-12-22 15:12:37
我正在嘗試制作一個畫廊,您可以在其中單擊每個圖像以放大。最終我會對畫廊進行風格化,但現在我只是想讓圖像發揮作用。我從 Stack Overflow 上的另一個用戶那里復制了這段代碼,回答了一個與我類似的問題,但我似乎無法讓 JS 除了第一張圖片之外的其他功能。#myImg:hover {  opacity: 0.7;}.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(255, 148, 195, 0.9);}.modal-content {  margin: auto;  display: block;  width: 80%;  max-width: 700px;}#caption {  margin: auto;  display: block;  width: 80%;  max-width: 700px;  text-align: center;  color: #ccc;  padding: 10px 0;  height: 150px;}.modal-content,#caption {  -webkit-animation-name: zoom;  -webkit-animation-duration: 0.6s;  animation-name: zoom;  animation-duration: 0.6s;}@-webkit-keyframes zoom {  from {    -webkit-transform: scale(0);  }  to {    -webkit-transform: scale(1);  }}@keyframes zoom {  from {    transform: scale(0.1);  }  to {    transform: scale(1);  }}.close {  position: absolute;  top: 15px;  right: 35px;  color: #f1f1f1;  font-size: 40px;  font-weight: bold;  transition: 0.3s;}<img id="myImg" style="width: 200px; height: 184px;" src="ta-cards.svg" alt="Business Card Design"><div id="myModal" class="modal">  <span class="close">×</span>  <img src="ta-cards.svg" class="modal-content" id="img01">  <div id="caption"></div></div>      <img id="myImg" style="width: 200px; height: 184px;" src="talogos.svg" alt="Image_wallpaper"><div id="myModal" class="modal">  <span class="close">×</span>  <img src="talogos.svg" class="modal-content" id="img01">  <div id="caption"></div></div>window.onload = function() {   var modal = document.getElementById('myModal');  var img = document.getElementById('myImg');  var modalImg = document.getElementById("img01");  var captionText = document.getElementById("caption");  img.onclick = function() {    modal.style.display = "block";    modalImg.src = this.src;    captionText.innerHTML = this.alt;  }我究竟做錯了什么??
查看完整描述

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

      }

    }


查看完整回答
反對 回復 2022-12-22
?
慕少森

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


查看完整回答
反對 回復 2022-12-22
?
萬千封印

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

});


查看完整回答
反對 回復 2022-12-22
  • 3 回答
  • 0 關注
  • 127 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號