gpt4 book ai didi

javascript - 第二次点击隐藏div

转载 作者:太空宇宙 更新时间:2023-11-03 22:18:54 25 4
gpt4 key购买 nike

我有一段代码在点击父 div 时显示一个 div。当我再次单击父 div 时,我希望能够隐藏这个子 div。我想不通。

我不明白它是否必须在一个单独的函数中?我如何检查它之前是否被点击过(也许是否显示了子 div?我真的很困惑该怎么做)。

谢谢你的帮助,

 document.getElementsByClassName('article-title')[i]
.addEventListener('click', function (event) {
articleDescription.style.display = "block";
}

我的代码非常非常长,但是在点击时显示 div 效果很好。因此我没有发布整个代码。我只需要一些帮助,看看我需要进入哪个方向才能使其在第二次点击后消失

最佳答案

下面的代码片段应该适合您。基本上,它使用 window.getComputedStyle(this.children[0]).getPropertyValue("display") 检查元素是否可见。如果可见,则显示 div。如果它不可见,它会隐藏 div。

https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle

articleDescription = document.getElementsByClassName("article-description");
articleTitles = document.getElementsByClassName('article-title');

for (var i = 0; i < articleTitles.length; i++) {
articleTitles[i]
.addEventListener('click', function(event) {

if (window.getComputedStyle(this.children[0]).getPropertyValue("display") == "none") {
this.children[0].style.display = "block";
}
else if (window.getComputedStyle(this.children[0]).getPropertyValue("display") == "block") {
this.children[0].style.display = "none";
}
})
}
.article-title {
width: 300px;
height: 50px;
background-color: red;
}

.article-description {
width: 300px;
height: 50px;
background-color: yellow;
display: none;
}
<div class="article-title">
<div class="article-description"></div>
</div>
<div class="article-title">
<div class="article-description"></div>
</div>
<div class="article-title">
<div class="article-description"></div>
</div>
<div class="article-title">
<div class="article-description"></div>
</div>
<div class="article-title">
<div class="article-description"></div>
</div>

关于javascript - 第二次点击隐藏div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54963050/

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