For循环与ajax调用之后,慢for循环?
for (var x = this.from; x < this.emax; x++) { this.list.append('<li></li>'); }
jQuery.ajax({
.....
不知何故,它将在 for 循环的同时启动 ajax 请求。所以 Chrome 有点窒息。我不想这样,可以修吗?
For循环与ajax调用之后,慢for循环?
for (var x = this.from; x < this.emax; x++) { this.list.append('<li></li>'); }
jQuery.ajax({
.....
不知何故,它将在 for 循环的同时启动 ajax 请求。所以 Chrome 有点窒息。我不想这样,可以修吗?
从我所见,浏览器通常不会更新页面,直到脚本完成处理当前事件。这意味着 Ajax 请求将在新的 LI 实际呈现之前启动,并且两者似乎几乎同时发生。
一种解决方法是将.ajax
调用放在setTimeout
具有最小超时值的 a 中。0 毫秒的超时可能会这样做;如果没有,那么 1 会。关键是让调用排队,以便在它发生之前应用 DOM 更改。
(话虽如此,你为什么要先附加一堆空的 LI?如果它们是 Ajax 请求得到的任何内容的占位符,你可以考虑让它的成功回调添加它们。只是一个想法。)
可能这是工作我不确定:
for (var x = this.from; x < this.emax; x++) { this.list.append('<li>
</li>').slow(200,function() {
jQuery.ajax({
.........
}); }