1 回答

TA贡献1786条经验 获得超13个赞
您有多个具有相同 id 的元素 - 将其更改为一个类。let如果你想分配事件,你的代码也需要在循环中使用。终于不是mouseout了mouseleave。
这行得通。
var imgContainer = document.getElementsByClassName('text__container');
var imgText = document.getElementsByClassName('img__text');
for (let i = 0; i < imgText.length; i++) {
imgContainer[i].addEventListener('mouseover', function() {
imgText[i].style.opacity = "1";
imgText[i].style.transition = "0.8s ease-in";
});
imgContainer[i].addEventListener('mouseout', function(){
imgText[i].style.opacity = "0";
imgText[i].style.transition = "0.8s ease-out";
});
}
.gallery__container {
margin-top: 5%;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-between;
div {
background-color: #000;
width: 49%;
margin: 0 0 2% 0;
height: 665px;
display: grid;
img {
grid-column: 1;
grid-row: 1;
height: 100%;
width: 100%;
z-index: 1;
align-content: center;
transition: 0.8s ease-out;
opacity: 1;
&:hover {
transition: 0.8s ease-in;
cursor: pointer;
opacity: 0.5;
}
}
.text__container {
border: 1px solid red;
text-align: center;
align-self: center;
grid-column: 1;
grid-row: 1;
background-color: rgba(0,0,0,0.5);
width: 100%;
height: 100%;
margin: 0;
z-index: 2;
background-color: transparent;
transition: 0.8s ease-out;
&:hover {
transition: 0.8s ease-in;
background-color: rgba(0,0,0,0.5);
}
.img__text {
border: 1px solid red;
text-align: center;
align-self: center;
z-index: 3;
color: #fff;
font-family: $main-font;
font-size: 2rem;
width: 50%;
margin: 0 auto;
transition: 0.8s ease-out;
opacity: 0;
}
}
}
}
<div class="gallery__container">
<div>
<img class="gallery__img" src="https://via.placeholder.com/100" alt="">
<div class="text__container">
<span class="img__text">Shake & Shot</span>
</div>
</div>
<div>
<img class="gallery__img" src="https://via.placeholder.com/100" alt="">
<div class="text__container">
<span class="img__text">It's On</span>
</div>
</div>
<div>
<img class="gallery__img" src="https://via.placeholder.com/100" alt="">
<div class="text__container">
<span class="img__text">It's On</span>
</div>
</div>
<div>
<img class="gallery__img" src="https://via.placeholder.com/100" alt="">
<div class="text__container">
<span class="img__text">It's On</span>
</div>
</div>
</div>
添加回答
举报