我有一些页面显示很多图像(很小,但仍然很多)。
我有两种方法可以首先显示页面的一个子集,因此用户在看到页面上的任何内容之前不必等待整个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()一样。我做错了,还是比我原来的方法加载慢?
答案 0 :(得分:2)
load
是异步的,它必须向服务器发出一个全新的请求来获取数据。由于数据并不多,因此在第一个代码块中内联它的效率要高得多。