Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

jQuery: Show and hide child div when hovering

I've got a set of items. Each item has two images and some text. For the images I've created a parent div which has a overflow:hidden CSS value. I want to achieve a mouseover effect. As soon as you hover over the images I want to hide the current div and show the second div. Here's a tiny snippet:

<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>

I've created a small jQuery snippet:

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

Now the problem is not only the currently hovered child is hidden. Instead, all other existing children are hidden as well. I need something like "this" or "current" but I don't know which jQuery function is the right one. Any idea?

Thanks, BJ

like image 774
Björn von TRITUM Avatar asked Apr 15 '10 08:04

Björn von TRITUM


2 Answers

I've found the solution. Thank you guys.

jQuery(document).ready(function() {
    jQuery('.product-images').hover(function() {
        jQuery(this).find('img:first').hide()
    }, function() {
        jQuery(this).find('img:first').show();
    });
});
like image 119
Björn von TRITUM Avatar answered Oct 19 '22 18:10

Björn von TRITUM


Is this what you are looking for?

jQuery(document).ready(function() {
    jQuery('.product-images img').mouseover(function() {
        jQuery(this).parent().hide();
    }).mouseout(function() {
        jQuery(this).parent().show();
    });
});
like image 30
Sarfraz Avatar answered Oct 19 '22 18:10

Sarfraz