2009-07-31 83 views
1

請,幫助改寫這個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> 

圖像顯示(不透明度:1)當我將鼠標懸停在<dt>標籤鏈接,我怎樣才能改變這一點,當我懸停在<dt><dd>標籤鏈接時,使圖像出現?

沒有人知道嗎?

回答

0

您可以使用:

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

謝謝,但是這個解決方案不起作用 – Mike 2009-08-01 06:45:20

0

我覺得塞思有懸停正確選擇,但在盤旋,我認爲你需要的圖片本身,而不是使用$(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) 
}); 
+0

不起作用:( – Mike 2009-08-01 06:47:07

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) 
}); 

這可能會進一步簡化,如果任何人有任何想法扔他們那裏。