悬停时图像淡入淡出并显示内容


image fade on hover and show content

我能在这里得到一些帮助吗?

我得到了一个代码,它只适用于一个图像,但不能用于具有不同内容的多个图像

HTML

<ul id="base">
<li class="element" >
<img src="http://farm8.staticflickr.com/7040/6818412114_261c73da06_z.jpg" class="img1"  />
<div style="display:none;" class="content">this is a text message 2</div>
</li>
<li class="element" >
<img src="http://farm8.staticflickr.com/7040/6818412114_261c73da06_z.jpg" class="img1"  />
<div style="display:none;" class="content">this is a text message 2</div>
</li>
</ul>

CSS

.element {float:left;margin-right:15px;border:1px solid red;width:150px;height:150px;}
.element img {
      position:absolute;
      top:0;
      left:0;
      height:150px;
      width:150px;
    }
.content {height:150px;width:150px;background:gray;font-size:9px;}

jQuery

$(".element").hover(function() {
        //fadeout first image using jQuery fadeOut
        $(".img1").fadeOut(300);
        //fadein second image using jQuery fadeIn 
        $(".content").fadeIn(300);
    }, function () {
        //fadeout second image using jQuery fadeOut
        $(".img1").fadeIn(300);
        //fadein first image using jQuery fadeIn
        $(".content").fadeOut(300);
    });

和一把测试用的小提琴http://jsfiddle.net/nQvay/1/,需要一些帮助

您必须指定要褪色的.img1.content

 $(".element").hover(function() {
            //fadeout first image using jQuery fadeOut
            $(this).children(".img1").fadeOut(300);
            //fadein second image using jQuery fadeIn 
            $(this).children(".content").fadeIn(300);
        }, function () {
            //fadeout second image using jQuery fadeOut
            $(this).children(".img1").fadeIn(300);
            //fadein first image using jQuery fadeIn
           $(this).children(".content").fadeOut(300);
        });

试试这个

JSFIDDLE

$(document).ready(function(){
$(".element").hover(function() {
            //fadeout first image using jQuery fadeOut
            $(".element").children(".img1").fadeOut(300);
            //fadein second image using jQuery fadeIn 
            $(".element").children(".content").fadeIn(300);
        }, function () {
            //fadeout second image using jQuery fadeOut
           $(".element").children(".img1").fadeIn(300);
            //fadein first image using jQuery fadeIn
           $(".element").children(".content").fadeOut(300);
        });
});
<ul id="base">
<li class="element" >
<img src="http://farm8.staticflickr.com/7040/6818412114_261c73da06_z.jpg" class="img1"  />
<div style="display:none;" class="content">this is a text message 2</div>
</li>
<li class="element" >
<img src="http://farm8.staticflickr.com/7040/6818412114_261c73da06_z.jpg" class="img1"  />
<div style="display:none;" class="content">this is a text message 2</div>
</li>
</ul>

<style>
ul{
padding:0px;
margin:0px;
list-style:none;
}
.element {float:left;margin-right:15px;border:1px solid red;width:150px;height:150px;position:relative;}
.element img {
      position:absolute;
      top:0;
      left:0;
      height:150px;
      width:150px;
    }
.content {height:150px;width:150px;background:gray;font-size:9px;}
</style>

<script>
$(".element").hover(function() {
        //fadeout first image using jQuery fadeOut
        $(this).children(".img1").fadeOut(300);
        //fadein second image using jQuery fadeIn 
        $(this).children(".content").fadeIn(300);
    }, function () {
        //fadeout second image using jQuery fadeOut
        $(this).children(".img1").fadeIn(300);
        //fadein first image using jQuery fadeIn
        $(this).children(".content").fadeOut(300);
    });
</script>