Jquery悬停效果

时间:2011-03-28 23:58:30

标签: jquery

我想对图片进行悬停效果。这很好用!但我也有一个文本在图像的顶部,在div中。当我悬停它时,背景中的图像会返回..

简单地说,只有当鼠标悬停在文本或图像上时,我才希望在图像上有悬停效果..

您可以在此处查看其工作原理:http://notre.co/nav

$(document).ready(function() {
    $('img').each(function() {
       $(this).hover(function() {
           $(this).stop().animate({ opacity: 0.3 }, 200);
       },
       function() {
           $(this).stop().animate({ opacity: 1.0 }, 800);
       });
    });
});

1 个答案:

答案 0 :(得分:1)

看到你有这种结构:

<div class="image">
    <a href="..." target="_blank">
        <img src="..." border="0" style="opacity: 1; ">
    </a>
    <div class="text">...</div>
</div>

您应该将悬停事件附加到父.image div而不是:

$('.image').hover(function () {
    $(this).find('img').stop().animate({ opacity: 0.3 }, 200);
}, function () {
    $(this).find('img').stop().animate({ opacity: 1.0 }, 200);
});

请注意,我没有包含.each(),因为默认情况下,jQuery会在附加事件处理程序时迭代每个元素(实际上,对于大多数操作)。


正如mVChr在评论中所提到的,如果您希望在将鼠标悬停在“作者”文字上时效果正常,则'.image'选择器应更改为'ul.sc_menu li'。< / p>