当光标悬停在图像上时显示文本

syr*_*ull 5 javascript css jquery

当您将鼠标悬停在图像上方时,我正在尝试完成在图像下方显示文本的任务.我不想使用该title属性,因为我希望能够为文本设置样式.

一个例子是在Dribbble.当您将鼠标悬停在某些图片上时,文本PRO会显示在发布图片的人的姓名旁边

Ami*_*haq 2

看看这个快速的JS FIDDLE

您的 HTML

<ul>
    <li>
        <div class="caption">this is my caption</div>
        <img src='http://dribbble.com/system/users/22122/screenshots/244072/empirestate02_d_teaser.png?1314126367'/>
    </li>
    <li>
        <div class="caption">this is my caption</div>
        <img src='http://dribbble.com/system/users/22122/screenshots/244072/empirestate02_d_teaser.png?1314126367'/>
    </li>
    <li>
        <div class="caption">this is my caption</div>
        <img src='http://dribbble.com/system/users/22122/screenshots/244072/empirestate02_d_teaser.png?1314126367'/>
    </li>
    <li>
        <div class="caption"><span>this is my caption</span></div>
        <img src='http://dribbble.com/system/users/22122/screenshots/244072/empirestate02_d_teaser.png?1314126367'/>
    </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

CSS

ul li{ float:left; padding:20px; border:solid gray 4px; margin:5px;}
ul li div{display:none; background:white; opacity:.5; position:absolute;}
Run Code Online (Sandbox Code Playgroud)

和你的 JavaScript

$('ul li').mouseenter(function(){
    var image= $(this).find('img'),
        caption = $(this).find('div');

    caption.width(image.width());
    caption.height(image.height());
    caption.fadeIn();
}).mouseleave(function(){
     var image= $(this).find('img'),
        caption = $(this).find('div');

    caption.width(image.width());
    caption.height(image.height());
    caption.fadeOut();
});
Run Code Online (Sandbox Code Playgroud)

这应该会让您了解如何实现您想要的目标。显然还可以改进。希望能帮助到你。