优化jQuery循环

时间:2009-06-16 12:44:45

标签: jquery loops

在处理相当大量的数据时,是否有一种优化jQuery循环的方法。浏览器在数据循环时往往会锁定,IE8以下的任何内容都会产生“脚本运行太慢”的消息。

我只是使用jQuery.each(data,function(i,val)从数据库中获取字段的字段名称和值,然后自动使用该值填充字段。

数据来自登录时生成的json文件。

任何建议都将不胜感激。

3 个答案:

答案 0 :(得分:1)

最近一次关于高性能JavaScript的谷歌技术讲座,其中提到.each()有很大的开销和原因。

http://www.youtube.com/watch?v=mHtdZgou0qU

这些事情可以解决这个问题。

您多久进行一次这种手术?您可以使用setTimeout将其分解为更小的片段,并在您进行操作时为您的用户提供进度条吗?

答案 1 :(得分:0)

将慢循环迭代推送到服务器并创建一个眼睛糖果,这将使用户在等待服务器的结果时忙碌。如果循环结果未阻塞,则向服务器发送回调函数,并让用户继续其工作流程。

答案 2 :(得分:0)

我在循环结果时遇到了同样的问题,我没有使用each()函数。阻塞行为发生在ajax回调函数中,会锁定页面,包括任何“加载”指示符。

我尚未实现的一个解决方案是让ajax以递归方式将结果拉入“块”,并一次显示x个结果(20?50?)。这样,用户就可以获得即时反馈,并且不会发生锁定感。

也许这样的事情对你有用 -