2012-06-29 6 views
0

Bit d'un n00b ici. J'essayais de modifier une fonction de survol que j'avais trouvée qui positionne et anime une image dans un élément de la liste. Au lieu de donner .animate ({top: une valeur de pixel exacte dans la première instance, je voulais la passer à la variable imgHeight, qui obtient la hauteur du li contenant, mais je fais clairement quelque chose de mal.Toutes les pointeurs?Passer la variable à la propriété .animate

var imgHeight = $('li').height(); 
$(function() { 
$('ul.hover_block li').hover(function(){ 
$(this).find('img').animate({top:'imgHeight' + 'px'},{queue:false,duration:200}); 
}, function(){ 
$(this).find('img').animate({top:'0px'},{queue:false,duration:200}); 
}); 
});​ 

Répondre

0

Essayez ceci: vous aviez

{top: 'imgHeight' + 'px'} 

devrait être

{top: imgHeight + 'px'} 

code complet:

var imgHeight = $('li').height(); 
$(function() { 
     $('ul.hover_block li').hover(function(){ 
      $(this).find('img').animate({top:imgHeight + 'px'},{queue:false,duration:200}); 
     }, function(){ 
      $(this).find('img').animate({top:'0px'},{queue:false,duration:200}); 
     }); 
});​ 
+0

A travaillé parfaitement, merci! C'était probablement la seule variation que je n'avais pas essayée. Comme je me sens bête ... –

+0

Pas un problème mec. JQuery a un peu la courbe d'apprentissage, mais quand vous le descendez, vous ne saurez pas comment vous avez vécu sans elle – Innatepirate