J'ai une situation comme celle-ci:Accédez à une variable globale
talenti = $(".talenti");
filtra = $(".filtra");
wrapNavHeight = $("#wrapNav").outerHeight(true);
filtra.click(function(e) {
e.preventDefault();
$(".nasco").hide();
$("#sliding-navigation").delay(delay).show();
delay += 500;
talenti.removeClass('opened');
filtra.addClass('opened');
filtra.attr('id',"focF");
talenti.attr('id',"");
if (filtra.hasClass("opened")) {
$("#wrapNav").slideToggle("100", "linear", function(){
alert(wrapNavHeight);
$("#container").animate({"height": "+=wrapNavHeight"}, 100,function(){
$(".box").animate({"top": "+=wrapNavHeight"});
});
});
}
});
Je tente d'obtenir wrapNavHeight mais alerte (wrapNavHeight); sorties nulles; ne peut pas ensuite affecter cette valeur aux lignes animées suivantes
Quelqu'un?
chèque ' $ ("# wrapNav"). outerHeight (true); ', que retourne-t-il? est-ce que 'wrapNav' id est bon? – davioooh
#wrapNav est en effet un identifiant.Au tout début si je vérifie sa valeur avec une alerte, elle renverra la valeur null car elle est affichée: none; mais j'utilise ensuite slideToggle et il l'agrandit et le révèle de sorte que sa hauteur soit alors définie quand je demande sa valeur dans l'alerte selon le code ci-dessus mais pour certaines raisons il retourne toujours nul –
Je seconde ce que David C. a suggéré - très probablement 'outerHeight()' renvoie 'null' - ce qui pourrait signifier que vous l'appelez sur un ensemble vide d'éléments - ie' # wrapNav' pointe sur (http://api.jquery.com/outerHeight/). Mais cela peut aussi dépendre de la version de jQuery que vous utilisez - il y avait quelques bugs liés, comme [this] (http://bugs.jquery.com/ticket/7693) –