2012-02-28 32 views
0

我有一個MVC應用程序,我在一系列選項卡中加載部分視圖。我有一個絕對定位的DIV,我用它作爲加載指標。對於其中兩個選項卡,它可以很好地工作。對於第三個,它立即啓動回調函數,而不是淡出「ModalLoading」DIV。JQuery FadeOut()回調時間

注意:「ModalLoading」div未隱藏。我甚至在那裏增加了額外的「停止」,以確保它沒有開火,因爲它已經消失。我很困惑。我到處搜索可能會導致此問題的東西。所有的選項卡都使用完全相同的功能,並以相同的方式調用。有沒有人有任何想法?

感謝您的幫助!

這裏是jQuery代碼:

$("#AssessmentNav ul li").click(function() { 
     $("#AssessmentNav ul li").removeClass("active"); 
     $(this).addClass("active"); 
     LoadView($(this).data("view")); 
    }); 

function LoadView(view) { 
    $("#ModalLoading").fadeIn(250); 
    $("#AssessmentContent").html('').load(RA.BASE_URL + "Assessment/" + view + "/" + AssessmentId, function() { 
     $("#ModalLoading").stop(false, true).fadeOut(2000, function() { console.log("Ding fries are done!"); }); 
    }); 
} 
+0

嘗試在.stop() – Ohgodwhy 2012-02-28 22:04:53

+0

中將第二個參數更改爲false。我嘗試了幾個變體,包括那個和這個:$(「#ModalLoading」)。show()。fadeOut(250); – dygfloyd 2012-02-28 22:16:49

回答

0

我終於想通了這一點。經過很多痛苦之後,我發現不同的局部視圖碰巧有一個div,裏面有相同的ID「ModalLoading」。所以,當我調用fadeOut時,它發現了隱藏的另一個實例。正因爲如此,fadeOut立即開始回調,並沒有淡出我想要的div。

心理注意:檢查衝突ID的所有部分視圖。特別是當不同的觀點由不同的人開發時。