2014-09-05 66 views
-1

我正在处理一个项目,我必须将大量数据从服务器绑定到HTML页面的下拉更改事件部分。我想展示一个微调,直到HTML完成呈现。如何知道HTML呈现何时完成?是否有任何可以使用的事件。我知道$(document).ready已经为整个HTML页面工作。Html数据绑定完成

+0

您是否正在使用AJAX加载这些数据?如果是,则使用回调。 – BernardoLima 2014-09-05 20:46:58

+0

如果您通过ajax $ .ajaxStart加载,$ .ajaxComplete可能会有所帮助 – Sunand 2014-09-05 20:47:16

+0

数据从服务器快速发展,但HTML绑定花费了大量时间,因为它每行有40列,接近2000行。在IE中的表现确实很糟糕。它的部分页面更新不是整个页面 – SRK 2014-09-05 20:55:28

回答

0

您必须测试浏览器的多个绘画和渲染实例,并检查哪种形式的CSS操作将占用最少的时间。可能最快的作品就像是一个固定的占位符,其中带有一个动画GIF或SVG,它隐藏或不隐藏(隐藏或不透明)。最好避免的是,HTML在整个装入程序段中一直处于崩溃状态并不断增长。这将触发HTML引擎的画家不断刷新和重新绘制。

最后,您可以通过研究jQuery和原始JavaScript处理调用的方式来关闭AJAX请求的某些字节。 jQuery变体非常易于使用,但显然会增加一些开销。在你的情况下(有数千个电话),开销可能意味着很大的交易。

这主要是对您使用的功能和工具进行研究并找出可以在哪里获得最大性能收益的案例。

+0

如果我在开始渲染前使用10ms的setTimeout事件,它会起作用吗? – SRK 2014-09-05 21:15:46

+0

最好不要使用'setTimeout'或'setInterval'。他们使用邪恶的'eval'功能,并导致您运行的JavaScript代码的整个范围被重新分析。你也可能想对此进行研究。在这个问题上你可能完全不同。让后端脚本按周期收集所有数据,并以每个“X” - 毫秒的大JSON块提供。通过这种方式,您可以更好地细化HTML/JS一侧,并更好地控制流入的数据。 – 2014-09-05 21:19:59

+0

确定渐进式数据加载和HTML绑定。谢谢 – SRK 2014-09-05 21:28:59