在图片比较多的页面中,如果一次性把所有的图片全部加载出来,不仅加载速度慢,还会对服务器造成不小的压力,也浪费了带宽(不是每个用户都会从头至尾看完所有页面内容),那么在图片比较多的情况下,我们就可以采取图片懒加载的形式来解决这个问题。
jq中有一个lazyload.js的插件,方便好用,下面简单的介绍一下这个插件的用法
1.lazyload.js是依赖于jq的,所以在使用lazyload插件的时候,必须先引入jq,然后再引入lazyload的这个js
<script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
<script src="js/lazyload.js"></script>
2.在使用这个插件的时候,img标签的src必须改变成data-original才可以,给img标签取了一个lazy的名字,方便后面给img标签绑定事件,同时,需要给img标签加宽和高的属性才能使懒加载正常运行,不加的话,懒加载是无效的
.lazy{width: 100%;height:800px;border:none;}
<img data-original="imgs/1.jpg" alt="" class="lazy">
3.使img标签懒加载,只需加以下代码
$(
function
() {
$(
"img.lazy"
).lazyload(); //叫lazy这个名字的img标签就都被懒加载了
})
$(
"img.lazy"
).lazyload({
event :
"click" //只有在点击的时候才会被加载
});
$(
"img.lazy"
).lazyload({
effect :
"fadeIn"
});
.lazy {
display
:
none
;
}
skip_invisible
设为
false
$(
"img.lazy"
).lazyload({
skip_invisible :
false
});