javascript - 如何同时创建ajax请求和背景动画

标签 javascript jquery html ajax

我有这段代码:

    $('#contentSites').fadeOut(200, function() {
        // Animation complete
            $.get("my_account_content.php?q=" + content, function(data){
                $("div#contentSites").html(data);
                $('#contentSites').fadeIn(200);
});

我有 2 个按钮,用于激活 ajax 请求并更改 #contentSites 的全部内容 - 现在它一一执行 3 件事(仅执行下一项,直到上一项完成)。它这样做: 1.淡出当前内容 2.获取新内容 3.淡入新内容。

因为这效率不高(因为我需要等到 ajax 请求之前发生淡出)。

我想问如何同时触发淡出和ajax请求,并且仅当ajax请求完成时才进行淡入。

最佳答案

您只需删除淡出时的回调

$('#contentSites').fadeOut(200);
$.get("my_account_content.php?q=" + content, function(data){
    $("div#contentSites").html(data);
    $('#contentSites').fadeIn(200);
});

使用 jQuery 的另一种方法 defferds将是

$.when( $('#contentSites').fadeOut(200), get_content() ).then(function(){ 
    $('#contentSites').fadeIn(200);
}); 

function get_content(){
   return $.get("my_account_content.php?q=" + content, function(data){
             $("div#contentSites").html(data);
          });
}

这将确保 fadeIn 仅在 ajax 请求完成后运行,同时运行两者。

关于javascript - 如何同时创建ajax请求和背景动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8389126/

相关文章:

javascript - 将数组从 pug (jade) 传递到 jquery 脚本

jquery - 使用 Ajax 进行乘法

javascript - JQuery 在数据过滤器上切换 True 或 False

asp.net - jquery追加+代码隐藏

html - 从开发站点转移到实时站点会破坏 CSS

javascript - 使用javascript动态创建具有多个元素的多个div?

javascript - Switch 语句 (javaScript) 将仅显示 else 条件

javascript - jQuery .hide 和通过灯箱导航不起作用

javascript - 为什么这个 promise 会悄然落空?

html - 我页面的一部分在平板电脑上确实超出了页面