2009-07-31 6 views
1

S'il vous plaît, aide pour réécrire cette fonction jQuery:opacité jQuery sur vol stationnaire

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

Voici un html:

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

image apparaît (opacité: 1) quand je passe la souris sur un lien dans <dt> tag , comment puis-je changer cela, pour faire apparaître l'image lorsque je place un lien dans les tags <dt> et <dd>?

Personne ne le sait?

Répondre

0

Vous pouvez utiliser:

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

merci, mais cette solution ne fonctionne pas – Mike

0

Je pense que seth a le sélecteur droit pour le vol stationnaire, mais en vol stationnaire je pense que vous auriez besoin d'une référence à l'image elle-même au lieu d'utiliser $(this). Peut-être quelque chose comme:

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

ne fonctionne pas :( – Mike

+0

Savez-vous où il se brise? C'est peut-être les sélecteurs? Avez-vous un parent de

avec un nom de classe de 'gallery-small '? Qu'est-ce que cela vous obtenez:' alert ($ (". Gallery-small"). Longueur); '? – ironsam

+0

Avez-vous des effets d'opacité à travailler du tout? Ou est-ce juste en survolant que cela ne fonctionne pas – ironsam

0

Si je, vous voulez je vous comprends bien que l'image apparaisse lorsque vous survolez soit l'image ou le texte qui lui est associé. Est-ce exact? Si oui, cette solution devrait fonctionner pour vous:

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

Ceci peut probablement être simplifié plus loin, si quelqu'un a des idées les jeter là-bas.

Questions connexes