图片按需加载

时间:2021-06-25 19:27:03

         图片延迟按需加载是指当打开网页时,只加载显示当前屏幕区域的图,当滚动页面时再加载按需要加载其它区域的图片,提高网页打开速度,节约带宽。

        jquery lazyload是一款基于jquery框架的图片延迟加载应用,它可以让用户访问页面的时候只显示当前屏幕所示的图片。原理为利用JS替换图片src为loading图片,新增original属性放置图片地址,scroll事件触发JS把src重新换成图片的真实地址。实际上并没有真正意义上实现图片延迟按需加载,通过httpwatch或firebug可看到在页面加载时所有图片都已加载,滚动网页时显示的效果只是从缓存中进行图片替换。当页面中存在图片滚动效果时,隐藏的图片无法加载,导致其后页面上的图片也不能正常加载,只有当点击显示所有滚动图片后(同时需要触发scroll事件),其后页面的图片才能加载。

lazyload参考资料:http://www.appelsiini.net/projects/lazyload

         真正意义上的图片延迟按需加载是在程序输出页面时,把src属性设为loading图片,为img设置一个自定义属性放置图片的真实地址,当打开页面时显示当前屏幕区域的图片,滚动网页时再加载需要的图片。

         通过修改上面的jquerylazyload也可以实现严格意义上的图片按需加载:输出页面时图片src设为loading图片,自定义original放置图片真实地址,同时删除lazyload文件中新增自定义属性original,把原始src替换为loadingl图片的代码。