一个简单而实用的JQ插件——lazyload.js图片延迟加载插件
前 言
Cherish
看多了炫酷的插件之后再来看这么一个小清新的东西,是不是突然感觉JQ插件感觉很友好了,简单强大最重要的是实用。
这篇文章将详细讲解一下lazyload.js的用法
lazyload看名字直译大概就知道意思了:
懒加载,就是懒得加载,你不看到那,它不会给你加载出来的。也就是延迟加载的功能。使用它你可以提高网页加载速度,进而来说一定情况下也能减轻服务器负载
下面就来说一下怎么去使用这个朴素而实在的插件
要想使用JQ插件,首先 要引用jquery.js和lazyload.js到你的页面(测试时候路径根据实际目录而定哦)
<script src="jquery-1.11.0.min.js"></script> <script src="jquery.lazyload.js?v=1.9.1"></script>
然后 为图片加入样式lazy 图片路径引用方法用data-original
<img class="lazy" data-original="img/img1.jpg"> <img class="lazy" data-original="img/img2.jpg"> <img class="lazy" data-original="img/img3.jpg"> <img class="lazy" data-original="img/img4.jpg"> <img class="lazy" data-original="img/img5.jpg"> <img class="lazy" data-original="img/img6.jpg">
最后 JS初始化始化lazyload并设置图片显示方式
<script type="text/javascript"> $(function() { $("img.lazy").lazyload({effect: "fadeIn"}); }); </script>
当然在图片中也可以不使用 class="lazy",换为如下写法
<script type="text/javascript">
$(function() {
$("img").lazyload({effect: "fadeIn"});
});
</script>
这样写就会对全局的img生效
lazyload()的括号中可以使用一个对象来设置设置参数
$("img.lazy").lazyload({ placeholder : "img/grey.gif", //用图片提前占位 effect: "fadeIn", // 载入使用何种效果 threshold: 200, // 提前开始加载 event: 'click', // 事件触发时才加载 container: $("#container"), // 对某容器中的图片实现效果 failurelimit : 10 // 图片排序混乱时 });
placeholder:值为某一图片路径.此图片用来占据将要加载的图片的位置,待图片加载时,占位图则会隐藏;
effect(特效):值有show(直接显示),fadeIn(淡入),slideDown(下拉)等,常用fadeIn;
threshold:值为数字,代表页面高度.如设置为200,表示滚动条在离目标位置还有200的高度时就开始加载图片,可以做到不让用户察觉;
event:值有click(点击),mouseover(鼠标划过),sporty(运动的),foobar(…).可以实现鼠标莫过或点击图片才开始加载;
container:值为某容器.lazyload默认在拉动浏览器滚动条时生效,这个参数可以让你在拉动某DIV的滚动条时依次加载其中的图片
failurelimit:值为数字.lazyload默认在找到第一张不在可见区域里的图片时则不再继续加载,
但当HTML容器混乱的时候可能出现可见区域内图片并没加载出来的情况,failurelimit意在加载N张可见区域外的图片,以避免出现这个问题.
要展示效果还是挺麻烦的,但看了这么详细的讲解应该能很容易的去使用它,亲自去测试一下吧;
我是看到他就记住它了。快拿去试试吧