2009-07-31 17 views
1

Bitte, helfen, diese jQuery-Funktion neu zu schreiben:jQuery Opazität auf schweben

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

Hier ist ein html:

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

Bild erscheint (Opazität: 1) wenn ich schweben auf einen Link in <dt> Tag , wie kann ich dies ändern, um ein Bild erscheinen zu lassen, wenn ich einen Link in beiden <dt> und <dd> Tags schwebe?

Niemand weiß?

Antwort

0

können Sie verwenden:

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

danke, aber diese Lösung funktioniert nicht – Mike

0

Ich denke, seth die richtige Auswahl für den Hover hat, aber im Schwebe ich glaube, Sie einen Verweis auf das Bild, bräuchten sich stattdessen $(this) zu verwenden. Vielleicht so etwas wie:

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

funktioniert nicht :( – Mike

+0

Wissen Sie, wo es bricht? Vielleicht ist es die Selektoren? Haben Sie ein Elternteil von

mit einem Klassennamen von 'gallery-small '? Was bringt dir das:' alert ($ (". Gallery-small"). Length); '? – ironsam

+0

Bekommst du irgendwelche Opazitäts-Effekte, um überhaupt zu funktionieren? Oder ist es einfach, wenn es schwebt, dass es nicht funktioniert – ironsam

0

Wenn ich Sie richtig bin zu verstehen, können Sie das Bild angezeigt werden soll, wenn Sie entweder über das Bild bewegen, oder den Text mit ihm verbunden ist. Ist das korrekt? Wenn ja, sollte diese Lösung für Sie arbeiten:

$(".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) 
}); 

Dies ist wahrscheinlich weiter vereinfacht werden kann, wenn jemand irgendwelche Ideen werfen ‚em da draußen hat.