当前位置: 首页 > 面试题库 >

加载动画直到ajax调用完成后才会显示

厉熠彤
2023-03-14
问题内容

我显示了在Ajax调用之前和Ajax调用之后加载DOM的过程,我将其隐藏。由于某些原因,加载图像仅在ajax调用完成之后出现。结果是,除非我delay(#).hide(0)输入以下内容,否则加载图像甚至都不会出现。代码如下:

$("#loading-popup").show();
$.ajax({
// ajax here
});
$("#loading-popup").hide(0);

我已经在我的网站上的其他Ajax调用上进行了测试,并且发生了相同的问题。有人解决过这个吗?我正在使用Chrome 26。

编辑:我忘记指定我正在使用 同步 ajax调用。(async: false


问题答案:

这取决于ajax调用是同步还是异步。

对于 异步 ajax调用,以下工作原理

$("#loading-popup").show();
$.ajax({
type: 'POST',
// other parameters
success: function(yourdata)
{
    $("#loading-popup").hide();
}

对于 同步 ajax调用,它 不是 。Ajax首先执行,所有其他进程都被阻止/排队。

解决方法是使用setTimeOut像这样:

setTimeout(function () {
$("#loading-popup").show();
$.ajax({
type: 'POST',
async: false,
// other parameters
//
// other codes
});
$("#loading-popup").hide();
}, 10);

但是由于它是同步的,因此加载的GIF不会动画,而只会变成静态图片(至少对于Chrome而言)

我猜只有两种解决方案:
1)使用异步ajax调用
2)使用静态加载图像



 类似资料:
  • 问题内容: 我有一个用于打印iReport的按钮,但是显示报告需要花费一些时间,因此我创建了一个称为“加载框架”的类 ,当我按下按钮时,我试图调用该类,但是它不能正常工作。 我的按钮代码是: 问题答案: 就像所有与在Swing中执行长时间运行或阻塞任务有关的问题一样,从Swing中的并发开始,以更好地了解您要解决的问题。接下来看看最常见的解决方案Worker Threads和SwingWorker

  • 问题内容: 我的网站上有一个版块,在进行一些密集的通话时加载速度很慢。 知道如何div在页面准备时显示类似于“加载”的内容,然后在一切准备就绪时消失吗? 问题答案: 我需要这个,经过一番研究,我想到了这个(需要jQuery): 首先,在标签之后添加以下代码: 然后将div和图片的样式类添加到CSS: 然后,将此JavaScript添加到您的页面中(当然,最好在页面结尾处,在结束

  • 问题内容: 我想向用户显示一个加载图标,直到页面元素完全加载为止。如何使用javascript做到这一点,而我想使用javascript而不是jquery做到这一点? 这是一个链接,谷歌是怎么做到的?在onload事件或类似事件上触发某些功能..我知道它会以这种方式或任何其他方式完成?还是有一些事件吗? 更新 我使用显示属性做了一些操作,我隐藏了body元素,但是body标签的onload更改了它

  • 因此,我不确定如何在.setOnAction事件期间计算节点的高度,我已尝试/不确定还要尝试什么我正在尝试在添加节点后查找vBox的高度,但它只是在添加新节点之前打印节点的高度 运行该示例,然后单击将标签添加到vBox并输出的按钮 实际结果: 预期结果: 但是如果你点击打印VBox高度按钮,它会显示正确的高度:

  • 问题内容: 我尝试在我的网站中实施AJAX。单击div changepass的内容时,则应加载changepass.template.php。这是我为此使用的代码。 我的问题是在页面changepass.template.php完全加载时如何显示GIF动画(loading.gif)。请给我一些代码提示。 问题答案: 有很多方法可以做到这一点。一种简单的方法: JS: 詹姆斯·怀斯曼 ( James

  • 本文向大家介绍jQuery Ajax 加载数据时异步显示加载动画,包括了jQuery Ajax 加载数据时异步显示加载动画的使用技巧和注意事项,需要的朋友参考一下  ajax加载后台数据就不说的那么细了。 看下面代码首先前台上放置代码 在js脚本文件中首先把这个图片动画隐藏 代码如下 然后异步ajax提交请求代码如下 ..................... 注意: async: true, 当