javascript - 仅在淡出后加载内容

标签 javascript jquery ajax

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

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

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

我尝试在 fadeOut 中放置一个回调函数,但该回调中的 load 仍然被提前调用。我尝试在 fadeOut 之后添加 setTimeout,但仍然不起作用。

我添加了promise函数(这显然很关键),无论是否有回调函数来保存后续操作,但它不起作用。

我很高兴知道如何最好地实现这种效果,如果有人也可以给我一些提示,说明为什么我的其他尝试失败,这将是一个很棒的奖励:)

最佳答案

回调函数应该可以工作,所以我怀疑你做错了。应该是:

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

关于javascript - 仅在淡出后加载内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48675486/

相关文章:

javascript - 如何在 30 分钟左右停止自动保存?

javascript - 无法使用 JQuery 更改 z-index

php - 如何使用 Ajax 在 PHP 中从数据库中获取数据

php - jQuery JSON 问题

javascript - 为什么我会得到这个 'cannot read property ' length' of undefined'? (JavaScript)

javascript - 模态未启动 jquery

jquery - Phonegap android 上的可拖动 jQuery

jquery - izecss 动态文本适合 flex div

javascript - 如果条件为 true,则在 Ajax 调用中添加参数

javascript - 使用 AJAX 源和 appendTo 理解和实现 jQuery 自动完成