jquery.lazyload插件实现图片延迟加载

jquery.lazyload是一个实现图片延迟加载的jQuery 插件,它能够延迟加载长页面中的图片。在浏览器可视区域外的图片在初始状态下不会被载入,直到用户将页面滚动到它们所在的位置。css

1.引入js文件jquery

 

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.lazyload/1.9.1/jquery.lazyload.min.js"></script>

 

2.img标签ajax

 

<img >"lazy" src="images/placeholder.gif" data-original="images/example.png"  width="600"/">

 

img标签的src指向一个图片占位符,这里推荐一个在线获取图片占位符的站点 > http://placehold.it/,真实图片路径在data-original中。api

3.调用lazyload浏览器

$("img.lazy").lazyload();

图片的占位符除了能够经过src属性来指定,也能够经过lazyload函数的参数来指定:ruby

$("img.lazy").lazyload({
    placeholder: "images/placeholder.gif"
});

4.占位图片事件触发加载dom

若是咱们但愿滚到到图片的位置后,还要经过click或hover事件来唤醒图片的加载,咱们能够指定lazyload函数的event属性:函数

$("img.lazy").lazyload({
    placeholder: "images/placeholder.gif",
    event: "click"
});

当图片彻底加载的时候,插件默认地使用show()方法来将图显示出来。你也能够使用其余的效果,如fadeIn:布局

 

$("img.lazy").lazyload({
    effect: "fadeIn"
})

 

5.提早加载图片google

lazyload插件默认用户滚动到图片位置时才触发加载图片,若是咱们但愿滚动到距离图片必定位置就触发加载,能够指定lazyload函数的threshold参数:

$(“img.lazy”).lazyload({
threshold: 200
});


这样,当用户滚动到距离图片200像素时图片就开始加载了。

6.设置查找图片张数

lazyload的实现原理是,在页面滚动时,会搜索未加载的图片,若是图片在可视范围内就加载,默认状况下当找到第一张不在可见区域的图片时就会中止搜索。而搜索的顺序就是HTML文档中dom节点的定义顺序,因此若是有些图片定义在前面,但因为页面很差的布局图片将会呈如今后面,那么就会致使图片没办法正常显示。

此时咱们能够经过lazyload函数的failure_limit参数:

$("img.lazy").lazyload({         
     failure_limit: 10
});

这样一来,插件会搜索至少10个未加载的图片才中止搜索,若是你的图片布局比较不规则,能够尝试将这个参数调大。

相关文章
相关标签/搜索