回调函数不等到jQuery fadeOut()完成?

时间:2014-03-25 15:59:33

标签: javascript jquery callback fadeout jquery-callback

我正在尝试隐藏一个总是位于div内,其ID为“正在加载”的微调器。这工作正常但是我添加了一个回调函数,在这种情况下只是一个alert()然而alert()似乎在fadeOut()完成之前触发,让我看到微调器的半透明警报后面仍然可以看到背景面板。

有什么想法吗?

// Hide the spinner. 
function deactivate(callbackFn) {
    console.log('spinner deactivated');
    $("#Loading").fadeOut(removeSpinnerTag(callbackFn));
}

// Removes the spinner tag dynamically added to the DOM by the spinner.activate() method. 
function removeSpinnerTag(callbackFn) {
    $("#Loading div.spinner").remove();
    if (typeof (callbackFn) == 'function') {
        callbackFn();
    }
}

1 个答案:

答案 0 :(得分:4)

试试这个:

$("#Loading").fadeOut(function() { removeSpinnerTag(callbackFn) });

您正在执行removeSpinnerTag()而不是传递对该函数的引用。