用户刷新页面时,将调用defaultView(),它会加载一些UI元素。 $.address.change()应该在defaultView()完成后执行,但并非总是如此。 $.address.change()不能在success:回调中,因为应用程序使用它来跟踪URL更改。

defaultView();

function defaultView() {
    $('#tout').fadeOut('normal', function() {
        $.ajax({
            url: "functions.php",
            type: "GET",
            data: "defaultview=true",
            async: false,
            success: function (response) {
                $('#tout').html(response).fadeIn('normal');
            }
        });
    });
}

$.address.change(function(hash) {
    hash = hash.value;
    getPage(hash);
});


我对如何使$.address.change()等待defaultView()完成不知所措。任何帮助,将不胜感激。

最佳答案

successcomplete回调中调用它。使用delay计时回调充其量是不可靠的。您甚至可能需要将其调用放在fadeIn回调内部的success函数的回调中。

它不必在成功回调中定义,只需执行即可。这两个上下文仍将能够使用它。

关于javascript - 等待功能完成后再执行其余操作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2710115/

10-10 00:23