首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >元素中没有显示的元素和即时异步ajax调用。

问元素中没有显示的元素和即时异步ajax调用。
EN

Stack Overflow用户
提问于 2018-02-16 05:18:23
回答 3查看 121关注 0票数 1

我试图显示加载gif并调用ajax请求(在很长时间之后响应),然后隐藏加载gif。

以下是代码:

代码语言:javascript
复制
$('.loading-gif').show();
$ajax({url:'',async:false}).done(function(){...//some operation});
$('.loading-gif').hide();

我想知道为什么会这样。注意:当我使用debug进行检查时,它可以工作,但是当调用ajax请求时,gif映像将停止其动画化。还有什么是我得到这个决心的解决方案。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-02-16 05:23:59

JS是单线程的,当您使用异步标志发出ajax请求时,它会停止线程,从而导致动画停止。

另外,进行同步http调用也不是很好的做法。

这应该能解决你的问题。

代码语言:javascript
复制
$('.loading-gif').show();
$ajax({url:''})
  .done(function(){
    ...//some operation
    $('.loading-gif').hide();
  });
票数 3
EN

Stack Overflow用户

发布于 2018-02-16 08:17:09

尝试设置异步:true,因为它将允许呈现UI元素以及ajax调用

票数 0
EN

Stack Overflow用户

发布于 2018-02-16 05:23:20

Jquery done函数只有在ajax请求成功完成时才运行,因此在ajax函数中调用$('.loading-gif').hide();。

所以ajax代码看起来就像。

代码语言:javascript
复制
$('.loading-gif').show();
$ajax({url:'',async:false})
  .done(function(){
    ...//some operation
    $('.loading-gif').hide();
  });
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48820482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档