兼容IE8的图片懒加载效果

通常如果页面图片特别多,图片加载就慢。会给服务器增加压力。因为网页解析是从上往下的,在解析的过程里,如果遇见资源了,浏览器会再次请求的,但是一个网页可能存在很多请求的资源,这样图片多了,容易导致页面出现空白。所以就会有懒加载效果来提高用户体验。

1.html

< ul class = "list clearfix" >
 < li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p1.jpg" alt = "万酒网" ></ a ></ li >
< li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p2.jpg" alt = "万酒网" ></ a ></ li >
< li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p3.jpg" alt = "万酒网" ></ a ></ li >
< li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p4.jpg" alt = "万酒网" ></ a ></ li >
< li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p5.jpg" alt = "万酒网" ></ a ></ li >
< li >< a href = "http://www.wanjiu.com" >< img src = "img/loading.gif" data-original = "img/p6.jpg" alt = "万酒网" ></ a ></ li >
下面多复制几个li就可以看到效果了

</ ul >

2.css样式

img a , img { border : 0 px ;}
ol , ul , li {
list-style-type : none ;
}
.clearfix:after {
height : 0 ;
content : "" ;
display : block ;
visibility : hidden ;
overflow : hidden ;
clear : both ;
}
.clearfix {
zoom : 1 ; /* For IE 6/7 (trigger hasLayout) */
}
.list {
width : 1170 px ;
margin : 0 auto ;
}
.list li {
width : 360 px ;
height : 200 px ;
margin : 0 15 px 15 px 0 ;
float : left ;
border : 1 px solid #ccc ;
}
.list li img {
width : 100 % ;
height : 100 % ;
}

3.js的调用

< script type = "text/javascript" charset = "utf-8" >
   $ ( function () {
   $ ( ".list img" ). lazyload ({
   placeholder : "img/loading.gif" , //默认的一张图片
   effect: "fadeIn" , //淡入效果
   failure_limit : 20 ,
   threshold: 100 //图片距离屏幕一定距离时提前加载
    });
  });

< / script >

sh这是全部代码,只需要引入js,把图片的路径换了就好了。

 <SCRIPT src="js/jquery-1.11.3.js" type=text/javascript></SCRIPT>
    <SCRIPT src="js/lazyload.js" type=text/javascript></SCRIPT>

这是一个默认的gif图,为了增加用户体验

下面是效果演示的一个截图

其实这个不难,主要是几个参数的设置:

1,用图片提前占位
placeholder : "img/loading.gif",
参数:placeholder,值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏 ;

2,载入使用何种效果
effect : "fadeIn",
参数:effect(特效),值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn的效果;

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

4,事件触发时才加载
event : "click",
参数:event,值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加;

5,对某容器中的图片实现效果
container: $("#container"),
参数:container,值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片 ;

6,图片排序混乱时
failurelimit : 10,
参数:failurelimit,值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.

由于时间有限,暂且搁笔,下次有时间再好好写写,如有什么问题,请朋友们提出宝贵意见,谢谢,一起进步!

猜你喜欢

转载自blog.csdn.net/lyl520_zyg1314/article/details/81016605