悬停时jQuery不透明度

时间:2009-07-31 21:43:11

标签: jquery

请帮助重写这个jQuery函数:

$(".gallery dt a img").fadeTo("fast", .7);
$(".gallery dt a").hover(function () {
    $(this).fadeTo("fast", 1)
},
function () {
    $(this).fadeTo("fast", .7)
});

这是一个html:

<dl class="gallery">
    <dt><a href="#"><img /></a></dt>
    <dd><a href="#">text</a></dd>
</dl>

当我将<dt>标记中的链接悬停时,图片会显示(不透明度:1),当我将鼠标悬停在<dt>和{{1}中的链接时,如何更改此图片以显示图片}标签?

没人知道?

3 个答案:

答案 0 :(得分:0)

您可以使用:

$('.gallery-small dl:children a')

答案 1 :(得分:0)

我认为seth有一个正确的悬停选择器,但在悬停中我认为你需要引用图像本身而不是$(this)。也许是这样的:

var img = $(".gallery-small dt a img");
img.fadeTo("fast", .7);
$('.gallery-small dl:children a').hover(function() {
    img.fadeTo("fast", 1)
},
function() {
    img.fadeTo("fast", .7)
});

答案 2 :(得分:0)

如果我理解正确,您希望将鼠标悬停在图像或与其关联的文本上时显示图像。那是对的吗?如果是这样,这个解决方案应该适合你:

$(".gallery dt a img").fadeTo("fast", .7);
$(".gallery a").hover(function () {
    $(this).closest("dl").children("dt").children("img").fadeTo("fast", 1)
},
function () {
    $(this).closest("dl").children("dt").children("img").fadeTo("fast", .7)
});

如果有人有任何想法,可以进一步简化。