gpt4 book ai didi

javascript - 如何让 div 在点击时消失并显示它下面的内容

转载 作者:太空宇宙 更新时间:2023-11-04 13:50:21 24 4
gpt4 key购买 nike

我有一个 divhide。它本质上是一个具有黑色 背景的div。这个 div 应该隐藏 food div。所以,当你点击黑色背景时,也就是如果你在 hide div 上click 时,假设所有的 hide div 都消失了并显示 food div。但是,我的问题是这没有发生。 hide div 没有显示。以下是我当前的代码:

function make_disappear(){
document.getElementByClassName('hide').style.display = 'none';
}
.main {
position: relative;
display: inline-block;
width: 120px;
height: 120px
margin: 5px;
background: red;
}

.hide {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
background: url(https://i.imgur.com/Y8B7LsB.jpg);
}

.food {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
<div class="main">
<div onclick="make_disappear()" class="hide"></div>
<div class="food"><img alt="Food!!" src="https://i.imgur.com/1lbkAaY.jpg"></div>
</div>

<div class="main">
<div onclick="make_disappear()" class="hide"></div>
<div class="food"><img alt="Food!!" src="https://i.imgur.com/1lbkAaY.jpg"></div>
</div>

最佳答案

我喜欢在动画/转换一堆相同类型或类的元素时使用委托(delegate)模式。在将 z-index: 1 添加到 .hide 元素以使它们按堆叠顺序位于图像“顶部”之后,我添加了一类 disappear body 当点击任何 .hide 元素时。 CSS 处理其余部分,同时淡出所有 .hide 元素。如果 bodyDOM 中感觉太高,这种方法也可以用在包装器元素上。

const hide = document.querySelectorAll('.hide');

function handleClick() {
document.body.classList.add('disappear');
}

hide.forEach(el => {
el.addEventListener('click', handleClick);
});
.main {
position: relative;
display: inline-block;
width: 120px;
height: 120px margin: 5px;
background: red;
}

.hide {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
background: url(https://i.imgur.com/Y8B7LsB.jpg);
z-index: 1;
transition: .5s opacity;
}

.disappear .hide {
opacity: 0;
}

.food {
position: absolute;
top: 0;
left: 0;
width: 100px;
height: 100px;
}
<div class="main">
<div class="hide"></div>
<div class="food"><img alt="Food!!" src="https://i.imgur.com/1lbkAaY.jpg"></div>
</div>

<div class="main">
<div class="hide"></div>
<div class="food"><img alt="Food!!" src="https://i.imgur.com/1lbkAaY.jpg"></div>
</div>

https://jsfiddle.net/2rvte9y3/1/

关于javascript - 如何让 div 在点击时消失并显示它下面的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54509412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com