为什么理论上更快的方法是提供初始数据子集?

时间:2013-08-25 14:10:46

标签: jquery html json

我有一些页面显示很多图像(很小,但仍然很多)。

我有两种方法可以首先显示页面的一个子集,因此用户在看到页面上的任何内容之前不必等待整个shebang下载,然后将其替换为所有内容,它位于通过jQuery解析的.json文件中。

起初,我是这样做的:

var placeholderForOscars = "<div class=\"yearBanner\">2012</div><section class=\"wrapper\" ><a id=\"mainImage\" class=\"floatLeft\" href=\" . . . (etc) </section>";
$('#MoviesContent').html(placeholderForOscars);
getMovies('Content/oscars.json');

...但后来我认为将数据放入&#34;占位符&#34;会更快/更优雅。 var在文件中并以这种方式执行:

$('#MusicContent').load('Content/grammies.html');
getMusic('Content/grammies.json');

IOW,在这两种情况下,我都将第一页左右的html放在页面上,然后用所有数据替换它(在它被旋转/解析后变成html)。

我期望第二种方式更快,但在页面加载之前有一段延迟,就像我根本没有调用load()一样。我做错了,还是比我原来的方法加载慢?

1 个答案:

答案 0 :(得分:2)

load是异步的,它必须向服务器发出一个全新的请求来获取数据。由于数据并不多,因此在第一个代码块中内联它的效率要高得多。