可能重复:
How to make GIF rotate when the tree is loading in Javascript
就像标题所说,我的加载gif在通过ajax成功通话时冻结。 成功调用有一些繁重的DOM操作,并且由于UI是单线程的,它会导致我的加载gif冻结。
到目前为止,我一直试图
答案 0 :(得分:4)
您必须模拟多线程才能让UI在处理AJAX响应时保持响应。
唯一的重要部分是安排处理功能,以便分割任务并按步骤执行。
您收到的数据是:
function ProcessData() {
var done = false;
/*
access the data here and perform a "bit" of data processing.
if the task finishes set done to true
*/
if(!done) {
setTimeout(ProcessData, 100); // this gives the UI 0,1 secs
}
}
当然上面的函数必须有一些方法来访问数据(使用全局或更好的,正确设置其上下文),注册操作的进度等等。
只是提出一个想法,但网上有很多详细解释。
或者你可能会得到一份" JavaScript忍者的秘密"并阅读章节"驯服线程和计时器"。
希望这有帮助。