JQuery FadeOut()回调计时

时间:2012-02-28 21:59:46

标签: jquery asp.net-mvc-3

我有一个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!"); });
    });
}

1 个答案:

答案 0 :(得分:0)

我最终想出来了。经过多次痛苦之后,我发现一个不同的局部视图碰巧有一个div,其中ID为“ModalLoading”。所以,当我调用fadeOut时,它发现了另一个被隐藏的实例。因此,fadeOut立即开始回调,并没有淡出我想要的div。

心理注意:检查所有部分视图是否存在冲突的ID。特别是当不同的观点由不同的人发展时。