【发布时间】:2015-07-07 02:54:46
【问题描述】:
我在每个页面上都有一个幻灯片,其中包含页面所涉及的对象的图像。每个幻灯片通常包含 5-6 张图片幻灯片。
我的想法是只在前 2 张图像上设置 src 属性,其余的我只为图像文件设置 data-src 属性,然后在整个页面已在此 Javascript 的帮助下加载:
function loadImages() {
$('#house-carousel .item img').each(function(){
if($(this).attr('data-src')){
$(this).attr('src', $(this).attr('data-src'));
}
});
}
$(document).ready(loadImages);
考虑的过程是,由于图像在用户查看页面的最初几秒钟内没有显示给用户,我可以延迟加载它们,让客户端先下载页面上的其余内容。
但现在我又在想……这真的有帮助吗?我的意思是,图像不是渲染阻塞;正确的?那么,是在页面加载时加载它们,还是在页面加载后加载它们真的很重要吗?
注意,它不是“延迟到用户查看图像”的脚本,它只是延迟到其他资源首先加载。
那你怎么看?这真的有帮助吗?像http://tools.pingdom.com 这样的速度测试没有任何区别。
【问题讨论】:
-
这是个好问题。加载 1 张图片
must加载更多图片更快。所以一切都取决于你的延迟加载方法。 -
是的,但它是否有助于更快地加载 DOM 的其余部分?因为这就是重点。如果我一个接一个地加载 5 个图像,或者如果我加载 1 个,那么 DOM 的其余部分,然后是其他 4 个图像。是否有任何性能提升或感知性能提升?
-
是的,它会更快。我不知道快了多少。但是,如果您不加载图像,那可能会破坏您的滑块。记住这一点。
-
@LShetty,将您的评论转换为答案,再添加几个示例,您将获得一个成功的答案,我会很乐意投票。
-
@Alex 完成,谢谢 :)
标签: javascript jquery html performance