gpt4 book ai didi

jQuery隐藏div使用悬停显示所有隐藏的div

转载 作者:行者123 更新时间:2023-12-01 06:49:58 24 4
gpt4 key购买 nike

我确定有人问过这个问题,但我找不到解决我的问题的方法。我有一个在 3 个 div 中命名相同的类。该类正在使用 css 隐藏。问题是,当我将鼠标悬停在 1 个 div 上时,所有 3 个 div 同时显示隐藏内容。我只想显示我悬停在其上的元素。我认为我应该使用 .each() 但我不确定它是如何组合在一起的。

CSS

.background-hover {
display: none;

HTML:

    <div class="home-get-started">
<-- first--><div class="home-get-started">
<!-- image-->
<img src="image.png">
<!-- hover hidden state -->
<div class="background-hover">
<div class="home-btn">Text</div>
</div>
</div>

<--second --> <div class="home-get-started">
<!-- image-->
<img src="image.png">
<!-- hover hidden state -->
<div class="background-hover">
<div class="home-btn">Text</div>
</div>
</div>
</div>

jQuery:

$(".home-get-started").hover(
function () { $('.background-hover').css({"display":"block"}); },
function () { $('.background-hover').css({"display":"none"}); }
);

最佳答案

您正在显示/隐藏具有 background-hover 类的所有元素。您可能想要的是仅对触发事件的元素的后代执行此操作...

您可以使用find()查询 DOM 中某个元素的后代(在我们的例子中是 this)。

$(".home-get-started").hover(
function () { $(this).find('.background-hover').show(); },
function () { $(this).find('.background-hover').hide(); }
);

jsFiddle Demo

请注意,在某些情况下,两个文本会同时显示 - 这是因为您的包装 div 也具有 home-get-started 类,因此悬停处理程序也会针对该元素触发。

关于jQuery隐藏div使用悬停显示所有隐藏的div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16472625/

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