jQuery:在悬停时显示和隐藏子div

时间:2010-04-15 08:26:00

标签: jquery hover mouseover mouseout

我有一套物品。每个项目都有两个图像和一些文本。对于图像我创建了一个父div,它有一个溢出:隐藏的CSS值。我想实现鼠标悬停效果。只要将鼠标悬停在图像上,我就想隐藏当前的div并显示第二个div。这是一个很小的片段:

<div class="product-images">
<div class="product-image-1"><img src="image1.gif>" /></div>
<div class="product-image-2"><img src="images2.gif" /></div>
</div>

我创建了一个小的jQuery片段:

jQuery(document).ready(function() {
    jQuery('.product-images').mouseover(function() {
        jQuery('.product-image-1').hide();
    }).mouseout(function() {
        jQuery('.product-image-1').show();
    });
});

现在问题不仅是当前悬停的孩子被隐藏了。相反,所有其他现有的孩子也被隐藏。我需要像“this”或“current”这样的东西,但我不知道哪个jQuery函数是正确的。有什么想法吗?

谢谢,BJ

3 个答案:

答案 0 :(得分:7)

我找到了解决方案。谢谢你们。

jQuery(document).ready(function() {
    jQuery('.product-images').hover(function() {
        jQuery(this).find('img:first').hide()
    }, function() {
        jQuery(this).find('img:first').show();
    });
});

答案 1 :(得分:1)

这是你在找什么?

jQuery(document).ready(function() {
    jQuery('.product-images img').mouseover(function() {
        jQuery(this).parent().hide();
    }).mouseout(function() {
        jQuery(this).parent().show();
    });
});

答案 2 :(得分:-1)

此关键字可以正常使用:

$(this).hide();
$(this).show();