我有一个MVC应用程序,我在一系列标签中加载部分视图。我有一个绝对定位的DIV,我用它作为加载指示器。对于其中两个选项卡,它可以完美运行。对于第三个,它会立即触发回调函数,而不会淡出“ModalLoading”DIV。
注意:“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 :(得分:0)
我最终想出来了。经过多次痛苦之后,我发现一个不同的局部视图碰巧有一个div,其中ID为“ModalLoading”。所以,当我调用fadeOut时,它发现了另一个被隐藏的实例。因此,fadeOut立即开始回调,并没有淡出我想要的div。
心理注意:检查所有部分视图是否存在冲突的ID。特别是当不同的观点由不同的人发展时。