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
中。 0 毫秒的超时可能会做到这一点;如果没有,那么 1 会。重点是让调用排队,以便在发生之前应用 DOM 更改。
(话虽如此,为什么你首先要附加一堆空的 LI?如果它们是 Ajax 请求所获取的内容的占位符,你可能会考虑让其成功回调添加它们。只是一个想法.)
关于javascript - 缓慢附加 li,for 循环与 ajax 调用后使其变慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12820947/