-1

I have a photo gallery (carousel slideshow style) and I'd like to get it so that anytime someone hovers over one of the images, image-specific content is populated below the image in a separate div. Here is a example of my code:

<div class="window">
<div class="slide">
    <img class="p1" src="xxxxxx1.jpg" alt="" aria-haspopup="true" />
    <img class="p2" src="xxxxxx2.jpg" alt="" aria-haspopup="true" />
    <img class="p3" src="xxxxxx3.jpg" alt="" aria-haspopup="true" />
    <img class="p4" src="xxxxxx4.jpg" alt="" aria-haspopup="true" />
</div>
<div id="p1content">
      <!--Image-related content--> 
</div>
<!--div for content of p2, p3, p4, etc-->
</div>

Could I use CSS display properties with hover to accomplish this? Maybe jQuery? Please let me know your thoughts

Scott
  • 3
  • 1

3 Answers3

0

you can use this

$('.slide img').hover(
function(){
   $('#p1content').append($(this).clone());    
},
function(){
   $('#p1content').children().remove()
});

http://jsfiddle.net/6nPyA/

Michael Aguilar
  • 766
  • 8
  • 16
0

yes you can do with css , here what you should use as a rule

img.p1:hover + div#p1content {
 // code to make content visible
}
Rohit Agrawal
  • 5,372
  • 5
  • 19
  • 30
0

With jQuery and the following HTMl structure

<div class="window">
<div class="slide">
    <img class="p1" src="xxxxxx1.jpg" alt="" aria-haspopup="true" />
    <img class="p2" src="xxxxxx2.jpg" alt="" aria-haspopup="true" />
    <img class="p3" src="xxxxxx3.jpg" alt="" aria-haspopup="true" />
    <img class="p4" src="xxxxxx4.jpg" alt="" aria-haspopup="true" />
</div>
<div id="p1content"> <!-- the divs inside have display:none -->
      <div>Content for p1</div>
      <div>Content for p2</div>
      <div>Content for p3</div>
      <div>Content for p4</div>
</div>
<!--div for content of p2, p3, p4, etc-->
</div>

JS

$('.slide img').hover(function(){
   var in = $(this).index();
   $('#p1content div:eq('+in+')').show();
}, function() {
   $('#p1content div').hide();
});

FIDDLE

Spokey
  • 10,974
  • 2
  • 28
  • 44