在我的网站上,我有一个放置照片的页面。现在,我正在尝试创建一个JavaScript函数,该函数可以放大显示用户点击的照片。为此,当用户单击一张照片时,将出现包含其他版本照片(未裁剪)的“模式”类。这部分工作正常。当我尝试关闭较大的图像时,将出现问题。有人可以根据我已经做过的代码来帮助我吗? (这是一个大学项目,我想将已经显示给老师的代码保留下来。)
var imagens = document.getElementsByClassname("imagens");
for(var i=0; i<imagens.length; i++){
imagens[i].addEventListener("click",function () {
//console.log(this.id);
var splitedId = this.id.split("-");
var IddivGrande = "grande-"+ splitedId[1];
var imagemGrande = document.getElementById(IddivGrande);
var modal = document.getElementById("modal");
modal.style.display="block";
imagemGrande.style.display="block";
var span = document.getElementsByClassname("close");
function clicar() {
var botao = document.querySelector("span").click();
}
if(clicar) {
modal.style.display = "none";
}
})
}
body{
margin:0;
font-family: "Helvetica",serif;
}
/*main*/
article{
display: block;
position: relative;
width: 70%;
left: 50%;
transform: translateX(-50%);
margin-top:10%;
margin-bottom: 10%;
}
h3{
display: block;
position: relative;
top:0;
font-size: 15px;
width: 200px;
left: 50%;
transform: translateX(-50%);
margin-bottom: 50px;
}
body>main>article>img{
display: block;
position: relative;
left: 50%;
transform: translateX(-50%);
margin-top:10%;
}
#grande-01 {
display: none;
position: relative;
top:4%;
left: 50%;
transform: translateX(-50%);
}
#grande-02 {
display: none;
position: relative;
top:15%;
left: 50%;
transform: translateX(-50%);
}
#grande-03 {
display: none;
position: relative;
top:20%;
left: 50%;
transform: translateX(-50%);
}
#grande-04 {
display: none;
position: relative;
top:30%;
left: 50%;
transform: translateX(-50%);
}
#grande-05 {
display: none;
position: relative;
top:40%;
left: 50%;
transform: translateX(-50%);
}
#grande-06 {
display: none;
position: relative;
top:50%;
left: 50%;
transform: translateX(-50%);
}
#grande-07 {
display: none;
position: relative;
top:65%;
left: 50%;
transform: translateX(-50%);
}
#grande-08 {
display: none;
position: relative;
top:75%;
left: 50%;
transform: translateX(-50%);
}
#grande-09 {
display: none;
position: relative;
top:85%;
left: 50%;
transform: translateX(-50%);
}
/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgba(0,0.9); /* Black w/ opacity */
}
/* The Close Button */
.close {
display: block;
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}
.close:hover,.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}
/*tablet---------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 768px){
article{
width: 80%;
}
h3{
font-size: 23px;
left: 0;
transform: none;
margin-left: 1%;
}
body>main>article>img{
display: inline-block;
left: 0;
transform: none;
margin: 0 1%;
margin-bottom: 5%;
}
#grande-01,#grande-02,#grande-03,#grande-04,#grande-05,#grande-06,#grande-07,#grande-08,#grande-09{
top:50%;
transform: translateY(-50%) translateX(-50%);
}
}
/*laptop----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 1024px){
article{
width: 90%;
}
h3{
font-size: 25px;
width: 350px;
}
}
/*laptopL----------------------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (min-width: 1440px){
h3{
font-size: 30px;
width: 400px;
}
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Portraits</title>
<link rel="stylesheet" type="text/css" href="css/css_portraits.css">
<meta name="viewport" content="width=device-width,initial-scale=1">
</head>
<body>
<main>
<article>
<h3>Portraits</h3>
<img class="imagens"
id="pequeno-01"
srcset="imagens/portraits/fotos_quadradas/Ines1_400.png 400w,imagens/portraits/fotos_quadradas/Ines1_350.png 350w,imagens/portraits/fotos_quadradas/Ines1_200.png 200w"
sizes="(min-width: 1440px) 400px,(min-width: 1024px) 350px,200px"
src="imagens/portraits/fotos_quadradas/Ines1_200.png" alt="Ines1">
<img class="imagens"
id="pequeno-02"
srcset="imagens/portraits/fotos_quadradas/Ines2_400.png 400w,imagens/portraits/fotos_quadradas/Ines2_350.png 350w,imagens/portraits/fotos_quadradas/Ines2_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Ines2_200.png" alt="Ines2">
<img class="imagens"
id="pequeno-03"
srcset="imagens/portraits/fotos_quadradas/Ines3_400.png 400w,imagens/portraits/fotos_quadradas/Ines3_350.png 350w,imagens/portraits/fotos_quadradas/Ines3_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Ines3_200.png" alt="Ines3">
<img class="imagens"
id="pequeno-04"
srcset="imagens/portraits/fotos_quadradas/Rafa1_400.png 400w,imagens/portraits/fotos_quadradas/Rafa1_350.png 350w,imagens/portraits/fotos_quadradas/Rafa1_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Rafa1_200.png" alt="Rafa1">
<img class="imagens"
id="pequeno-05"
srcset="imagens/portraits/fotos_quadradas/Rafa2_400.png 400w,imagens/portraits/fotos_quadradas/Rafa2_350.png 350w,imagens/portraits/fotos_quadradas/Rafa2_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Rafa2_200.png" alt="Rafa2">
<img class="imagens"
id="pequeno-06"
srcset="imagens/portraits/fotos_quadradas/Rafa3_400.png 400w,imagens/portraits/fotos_quadradas/Rafa3_350.png 350w,imagens/portraits/fotos_quadradas/Rafa3_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Rafa3_200.png" alt="Rafa3">
<img class="imagens"
id="pequeno-07"
srcset="imagens/portraits/fotos_quadradas/Sara1_400.png 400w,imagens/portraits/fotos_quadradas/Sara1_350.png 350w,imagens/portraits/fotos_quadradas/Sara1_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Sara1_200.png" alt="Sara1">
<img class="imagens"
id="pequeno-08"
srcset="imagens/portraits/fotos_quadradas/Sara2_400.png 400w,imagens/portraits/fotos_quadradas/Sara2_350.png 350w,imagens/portraits/fotos_quadradas/Sara2_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Sara2_200.png" alt="Sara2">
<img class="imagens"
id="pequeno-09"
srcset="imagens/portraits/fotos_quadradas/Sara3_400.png 400w,imagens/portraits/fotos_quadradas/Sara3_350.png 350w,imagens/portraits/fotos_quadradas/Sara3_200.png 200w"
sizes="(min-width: 1440px) 400px,200px"
src="imagens/portraits/fotos_quadradas/Sara3_200.png" alt="Sara3">
<div class="modal" id="modal">
<img id="grande-01"
srcset="imagens/portraits/fotos_grandes/Ines1_900.png 900w,imagens/portraits/fotos_grandes/Ines1_600.png 600w,imagens/portraits/fotos_grandes/Ines1_224.png 224w"
sizes="(min-width: 1440px) 900px,(min-width: 768px) 600px,224px"
src="imagens/portraits/fotos_grandes/Ines1_224.png" alt="imagem_grande1">
<img id="grande-02"
srcset="imagens/portraits/fotos_grandes/Ines2_900.png 900w,imagens/portraits/fotos_grandes/Ines2_600.png 600w,imagens/portraits/fotos_grandes/Ines2_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Ines2_224.png" alt="imagem_grande2">
<img id="grande-03"
srcset="imagens/portraits/fotos_grandes/Ines3_900.png 900w,imagens/portraits/fotos_grandes/Ines3_600.png 600w,imagens/portraits/fotos_grandes/Ines3_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Ines3_224.png" alt="imagem_grande3">
<img id="grande-04"
srcset="imagens/portraits/fotos_grandes/Rafa1_900.png 900w,imagens/portraits/fotos_grandes/Rafa1_600.png 600w,imagens/portraits/fotos_grandes/Rafa1_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Rafa1_224.png" alt="imagem_grande4">
<img id="grande-05"
srcset="imagens/portraits/fotos_grandes/Rafa2_900.png 900w,imagens/portraits/fotos_grandes/Rafa2_600.png 600w,imagens/portraits/fotos_grandes/Rafa2_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Rafa2_224.png" alt="imagem_grande5">
<img id="grande-06"
srcset="imagens/portraits/fotos_grandes/Rafa3_900.png 900w,imagens/portraits/fotos_grandes/Rafa3_600.png 600w,imagens/portraits/fotos_grandes/Rafa3_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Rafa3_224.png" alt="imagem_grande6">
<img id="grande-07"
srcset="imagens/portraits/fotos_grandes/Sara1_900.png 900w,imagens/portraits/fotos_grandes/Sara1_600.png 600w,imagens/portraits/fotos_grandes/Sara1_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Sara2_224.png" alt="imagem_grande7">
<img id="grande-08"
srcset="imagens/portraits/fotos_grandes/Sara2_900.png 900w,imagens/portraits/fotos_grandes/Sara2_600.png 600w,imagens/portraits/fotos_grandes/Sara2_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Sara2_224.png" alt="imagem_grande8">
<img id="grande-09"
srcset="imagens/portraits/fotos_grandes/Sara3_900.png 900w,imagens/portraits/fotos_grandes/Sara3_600.png 600w,imagens/portraits/fotos_grandes/Sara3_224.png 224w"
sizes="(min-width: 1440px) 900px,224px"
src="imagens/portraits/fotos_grandes/Sara3_224.png" alt="imagem_grande9">
<span class="close">×</span>
</div>
</article>
</main>
<script src="javaScript/js.js"></script>
<script src="javaScript/hamburguer.js"></script>
</body>
</html>