懒加载 lazyload

懒加载与预加载

懒加载与预加载的基本概念。

懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。

预加载:提前加载图片,当用户需要查看时可直接从本地缓存中渲染。

两种技术的本质:两者的行为是相反的,一个是提前加载,一个是迟缓甚至不加载。懒加载对服务器前端有一定的缓解压力作用,预加载则会增加服务器前端压力。

懒加载:

  • 懒加载的主要目的

作为服务器前端的优化,减少请求数或延迟请求数。

  • 实现方式:

1.第一种是纯粹的延迟加载,使用setTimeOut或setInterval进行加载延迟.

2.第二种是条件加载,符合某些条件,或触发了某些事件才开始异步下载。

3.第三种是可视区加载,即仅加载用户可以看到的区域,这个主要由监控滚动条来实现,一般会在距用户看到某图片前一定距离遍开始加载,这样能保证用户拉下时正好能看到图片。

  • 使用场合

涉及到图片,falsh资源,iframe,网页编辑器(CK),JS文件 等占用较大带宽,避免网页打开时加载过多资源,让用户等待太久。

代码使用

1.导入JS插件<script src=”js\jquery.lazyload.js” type=”text/javascript”>

2.在你的页面中加入如下:

<script type="text/javascript"> 
    $("img").lazyload();  
</script> 

所以图片都延迟加载。

3.设置敏感度区域

插件提供了 threshold 选项

$("#xd").lazyload({ threshold : 200 })

将临界值定为 200, 当可视区域离图片还有 200 个象素的时候开始加载图片。

参数:threshold,值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉.

4.还有涉及到 高级应用,触发事件,多参数等等。

jquery库

jquery下载个较新的库就可以了

jquery.lazyload.js的说明:
http://www.appelsiini.net/projects/lazyload

下载地址:

原版的:https://raw.github.com/tuupola/jquery_lazyload/master/jquery.lazyload.js

缩减版的:https://raw.github.com/tuupola/jquery_lazyload/master/jquery.lazyload.min.js


本文涉及的文章引用:

1.http://www.cnblogs.com/tinyphp/archive/2013/04/09/3009385.html

2.http://www.jb51.net/article/77520.htm

3.http://www.cnblogs.com/lei2007/archive/2013/05/31/3110725.html