我有這樣一個情況:訪問一個全局變量
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"});
});
});
}
});
我試圖讓wrapNavHeight但警報(wrapNavHeight);輸出爲空;不能然後將該值分配給下一個生成線
任何人?
檢查' $(「#wrapNav」)。outerHeight(true);',它返回什麼? 'wrapNav'的編號是正確的? – davioooh 2012-02-03 08:42:14
#wrapNav確實是一個ID。在一開始,如果我用警報檢查它的值,它將返回null,因爲它是display:none;但我然後使用slideToggle,它確實展開它並顯示它,所以當我按照上面的代碼詢問它的值時,它的高度就會被定義,但由於某些原因,它仍然會返回null – 2012-02-03 08:44:37
我大衛C所建議的 - 最有可能'outerHeight()'返回'null' - 這可能意味着你在一組空元素上調用它 - 也就是''wrapNav'指向註釋(http://api.jquery.com/outerHeight/)。但它也可能取決於你正在使用的jQuery版本 - 有一些相關的錯誤,如[這一個](http://bugs.jquery.com/ticket/7693) – 2012-02-03 08:51:56