相关疑难解决方法(0)

为什么我的微调器GIF在jQuery ajax调用运行时停止?

我刚开始从ASP.NET UpdatePanels中解脱出来.我正在使用jQuery和jTemplates将Web服务的结果绑定到网格,一切正常.

这是事情:我正在尝试在刷新表时显示一个微调器GIF(在ASP.NET中的UpdateProgress)我已经完成了所有工作,除了微调器被冻结.为了看看发生了什么,我尝试将微调器从更新进度div中移出,然后在我可以一直看到的页面上移出.它会旋转并旋转直到刷新开始,并保持冻结直到刷新完成,然后再次开始旋转.不是你想要的'请等待'微调器!

这是在IE7中 - 还没有机会在其他浏览器中测试.有什么想法吗?是ajax调用还是客户端数据绑定如此资源密集,以至于浏览器无法使用其动画GIF?

更新

这是刷新网格的代码.不确定这是同步还是异步.

updateConcessions = function(e) {
    $.ajax({
        type: "POST",
        url: "Concessions.aspx/GetConcessions",
        data: "{'Countries':'ga'}",
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        success: function(msg) {
            applyTemplate(msg);
        },
        error: function(XMLHttpRequest, textStatus, errorThrown) {
        }
    });
}

applyTemplate = function(msg) {
    $('div#TemplateTarget').setTemplate($('div#TemplateSource').html());
    $('div#TemplateTarget').processTemplate(msg);
}
Run Code Online (Sandbox Code Playgroud)

更新2

我刚检查了jQuery文档,$.ajax()默认情况下该方法是异步的.只是为了踢,我添加了这个

$.ajax({
    async: true,
    ...
Run Code Online (Sandbox Code Playgroud)

它没有任何区别.

javascript jquery

48
推荐指数
4
解决办法
7万
查看次数

在重dom操作期间,JQuery加载gif冻结

可能重复:
如何在Javascript中加载树时使GIF旋转

就像标题所说,我的加载gif在通过ajax成功通话时冻结.成功调用有一些繁重的DOM操作,并且由于UI是单线程的,它会导致我的加载gif冻结.

到目前为止,我已经尝试过

  1. 优化我的功能,但必须同时加载大量数据.
  2. 使用setTimeout(),但它会在加载所有内容后显示所有gif.
  3. 使用spin.js,但在DOM操作期间它也会冻结.

有没有办法解决这个问题?

很感谢任何形式的帮助.


编辑1:
它与ArcGIS javascript有关,我必须从数据库中检索大约4000行,然后通过遍历所有点的for循环以正确的纬度和经度显示点.
我试图做一个简单的概述像这一个.

javascript jquery loading gif

6
推荐指数
1
解决办法
7432
查看次数

标签 统计

javascript ×2

jquery ×2

gif ×1

loading ×1