仅在fadeOut

时间:2018-02-08 00:19:14

标签: javascript jquery ajax

我正在尝试在 fadeOut fadeIn 之间加载内容。

如果我尝试运行以下代码,则在 fadeOut 完成之前加载内容:

$("#contentArea").fadeOut(1000);
$("#contentArea").promise().done();
$("#contentArea").load(content_map[$(this).attr('id')]);
$("#contentArea").fadeIn(1000);

我试图在 fadeOut 中添加一个回调函数,但仍然会在该回调中提前调用加载。我尝试在 fadeOut 之后添加 setTimeout ,但仍然无效。

我添加了承诺功能(显然很关键),有或没有回调函数保存后续操作,但它不起作用。

我很高兴知道如何最好地达到这种效果,如果有人也可以给我一个关于为什么我的其他尝试失败的提示,那将是一个很好的奖励:)

1 个答案:

答案 0 :(得分:3)

回调函数应该有效,所以我怀疑你做错了。它应该是:

$("#contentArea").fadeOut(1000, function() {
    $(this).load(content_map[this.id], function() {
        $(this).fadeIn(1000);
    });
});