jQuery移动和函数调用?

时间:2012-09-11 11:51:26

标签: jquery jquery-mobile

我有一个奇怪的问题,我无法弄明白。我用jQuery和Phonegap制作了移动应用程序。在我的应用程序中,我调用一些Web服务来获取数据,当我这样做时需要几秒钟,所以我想向用户显示一个加载栏。我用.gif图片编写了我自己的加载演示文稿,我在服务请求之前用javascript添加到屏幕上。我的问题是,在Web服务功能几乎完成一半或完全通过之前,这个.gif文件不会添加到屏幕上。就像我会异步调用它一样,但据我所知,它只是在一个线程上。那我该怎么做呢?

(伪代码)

showLoading();
callWebService();
stopLoading();

1 个答案:

答案 0 :(得分:1)

我遇到了与此类似的问题,这些问题已通过将后续操作添加到间隔为0的setTimeout中来解决:

showLoading();
setTimeout(function(){
    callWebService();
    stopLoading();
}, 0);

有关此技术的更多细节可以在this question中找到,但基本上超时允许浏览器在继续执行JavaScript代码之前完成任何UI更新(例如渲染加载图像)。