jquery.lazyload(懒加载)的使用与配置

jquery lazyload是一款基于jquery框架的图片延迟加载应用,它可以让用户访问页面的时候只显示当前屏幕所示的图片。原理为利用JS替换图片src为loading图片,新data-original属性放置图片地址,scroll事件触发JS把src重新换成图片的真实地址。

一. 如何使用

// 最简单的使用,不带参数

$(‘img‘).lazyload();

// 带参数(配置对象),下面配置对象中的各个属性值都是默认的

$(‘img‘).lazyload({

threshold : 0,

failure_limit : 0,

event : “scroll”,  //触发事件

effect : “show”,  //显示方式

container : window, //容器

data_attribute : “original”,  //属性

skip_invisible : true,

appear : null,

load : null,   placeholder:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAANSURBVBhXYzh8+PB/AAffA0nNPuCLAAAAAElFTkSuQmCC"

});

二. 参数配置

1.  threshold:

临界值,这个值是针对container容器的,即距离container容器视口的临界值,就是用来提前加载的。

如: $(“img”).lazyload({ threshold : 200 });当距离图片还有200像素的时候,就开始加载图片。

2.  event:

事件,container容器默认绑定scroll这个事件,在这个事件被触发时,会不断的判断img元素是否满足触发appear的条件, 因此当浏览器不停的滚动下来时,如果满足条件,则显示图片;

另外还有一点,如果这个事件不是scroll事件,则选中的img元素都会绑定这个事件,绑定的这个事件中同样会触发内部appear事件;

3. effect:

显示方法,默认为show,也可以设置为fadeIn,API中隐藏了一个配置属性effectspeed,动画运行的时间

4. data_attribute: "original“

img元素的一个data属性,用于存放图片的真实地址

5. skip_invisible: true

true:不加载隐藏的不可见图像,false:为加载,如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jquery.lazyload</title>
    <style>
      .cont{ width:640px; height:300px; overflow: scroll; position:relative; }
      .cont img{ width:640px; }
    </style>
</head>
<body>

<div class="cont">
    <img data-original="img/1.jpg" style="display:none" />
    <img data-original="img/2.jpg" />
    <img data-original="img/3.jpg"  />
    <img data-original="img/4.jpg" />
    <img data-original="img/5.jpg" />
    <img data-original="img/6.jpg" />
</div>

<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery.lazyload.min.js"></script>
<script>
    $(function(){
        $("img").lazyload({"container":".cont","skip_invisible":false});
    });
</script>
</body>
</html>

6. placeholder

图片占位符,img元素默认src属性为1*1像素的透明图片

7. appear: null

在img触发appear事件时执行的回调

8. load: null

在img触发load事件时执行的回调

9. failure_limit: 0

循环查找 img,根据 HTML 文档的布局从上往下查找,0表示当找到第一个并未显示/加载的 img 时,就会停止往下查找.

如果找到的是第 failure_limit 个img元素,且不在container视口上方,左方及视口内(可以允许在视口下方,右方),则中断循环。如:

$(“img”).lazyload({ failure_limit : 10 }); 表示插件找到 10 个不在可见区域的图片是才停止搜索。

注:  float 和 position 造成图片排序换乱时,才会有作用

三.其他

1.jquery lazyload可以做延时,如:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>延时加载-jquery.lazyload</title>
    <style>
      .cont{ width:640px; height:300px; overflow: scroll; position:relative; }
      .cont img{ width:640px; }
    </style>
</head>
<body>

<div class="cont">
    <img data-original="img/1.jpg" />
    <img data-original="img/2.jpg" />
    <img data-original="img/3.jpg" />
    <img data-original="img/4.jpg" />
    <img data-original="img/5.jpg" />
    <img data-original="img/6.jpg" />
</div>

<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery.lazyload.min.js"></script>
<script>
$(function() {
  $("img").lazyload({
    event : "sporty"
  });
});
$(window).bind("load", function() {
  var timeout = setTimeout(function() {$("img").trigger("sporty")}, 5000);
});
</script>
</body>
</html>

2.tab加载

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>tab-jquery.lazyload</title>
    <style>
      .nav span{ background:#ccc; display:inline-block; width:80px; height:40px; line-height:40px; text-align:center; cursor:pointer; }
      .nav span.on{ background:#eee; }
      .cont{ width:640px; height:300px; }
      .cont-item{ width:640px; height:300px; overflow: scroll; }
      .cont img{ width:640px; }
      .cont .cont-item:nth-child(2){ display:none; }
    </style>
</head>
<body>
<div class="nav">
    <span class="on">1</span>
    <span>2</span>
</div>
<div class="cont">
  <div class="cont-item">
    <img data-original="img/1.jpg" height="574" width="765" />
    <img data-original="img/2.jpg" height="574" width="765" />
    <img data-original="img/3.jpg" height="574" width="765" />
  </div>
  <div class="cont-item">
    <img data-original="img/4.jpg" height="574" width="765" />
    <img data-original="img/5.jpg" height="574" width="765" />
    <img data-original="img/6.jpg" height="574" width="765" />
  </div>
</div>

<script src="js/jquery-1.11.0.min.js"></script>
<script src="js/jquery.lazyload.min.js"></script>
<script>
    $(function(){
        $(".cont-item").eq(0).find("img").lazyload({"container":".cont-item"});
        $(".nav span").click(function(){
            var t = $(this);
            var inx = t.index();
            if(t.hasClass("on")){
                return;
            }else{
                t.addClass("on").siblings("span").removeClass("on");
                $(".cont-item").eq(inx).show().siblings(".cont-item").hide();
                $(".cont-item").eq(inx).find("img").lazyload({"container":".cont-item"});
            }
        });
    });
</script>
</body>
</html>
时间: 2024-10-11 03:02:40

jquery.lazyload(懒加载)的使用与配置的相关文章

jQuery lazyload 懒加载

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. Demo页面: 基本选项 淡入效果 对不支持JavaScript浏览器的降级处理 水平滚动 容器内水平滚动 容器内垂直滚动 页

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js-Web前端(W3Cways.com) - Web前端学习之路

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. Demo页面: 基本选项 淡入效果 对不支持JavaScript浏览器的降级处理 水平滚动 容器内水平滚动 容器内垂直滚动

jquery 图片懒加载

jquery 图片懒加载 CreationTime--2018年7月1日14点45分 Author:Marydon 1.源码展示 (function(a){a.fn.lazyload=function(b){var c={threshold:0,failure_limit:0,event:"scroll",effect:"show",container:window,skip_invisible:!0};b&&(null!==b.failurelim

jQuery延迟加载(懒加载)插件 – jquery.lazyload.js

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的.在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. Demo页面: 基本选项 淡入效果 对不支持JavaScript浏览器的降级处理 水平滚动 容器内水平滚动 容器内垂直滚动 页

jQuery延迟加载(懒加载)插件 jquery.lazyload.js

Lazy Load 是一个用 JavaScript 编写的 jQuery 插件. 它可以延迟加载长页面中的图片. 在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 在包含很多大图片长页面中延迟加载图片可以加快页面加载速度. 浏览器将会在加载可见图片之后即进入就绪状态. 在某些情况下还可以帮助降低服务器负担. 如何使用: Lazy Load 依赖于 jQuery. 请将下列代码加入HTML的结尾,也就是</body>前: <

[easyUI] lazyload 懒加载

1.使用<img>标签将图片都写在网页上. <div style="height:450px;"><h1>请往下看,有图片的吆!</h1></div> <img class="lazy" src="<%=path%>/img/load.gif" data-original="<%=path%>/img/bmw_m1_hood.jpg"&g

lazyload懒加载插件

在main.js中引入vue-lazyload插件  并使用 注册插件: import VueLazyLoad from 'vue-lazyload' Vue.use(VueLazyLoad,{ loading:require('common/image/default.png') }) lazyload的使用 在img标签中将:img="item.imgUrl" 替换成 v-lazy="item.imgUrl" 使用lazyload可以节省流量  以及加快加载时间

jquery图片懒加载

$(document).ready(function(){ // 获取页面视口高度 var viewportHeight = $(window).height(); var lazyload = function() { // 获取窗口滚动条距离 var scrollTop = $(window).scrollTop(); $('img').each(function(){ // 判断 视口高度+滚动条距离 与 图片元素距离文档原点的高度 var x = scrollTop + viewport

js效果笔记:怎样实现图片的懒加载以及jquery.lazyload.js的使用

在项目中有时候会用到图片的延迟加载,那么延迟加载的好处是啥呢? 我觉得主要包括两点吧,第一是在包含很多大图片长页面中延迟加载图片可以加快页面加载速度:第二是帮助降低服务器负担. 下面介绍一下常用的延迟加载插件jquery.lazyload.js以及怎样实现一个延迟加载的插件. 一:jquery.lazyload.js插件 lazyload是jQuery写的延迟加载插件,在浏览器可视区域外的图片不会被载入, 直到用户将页面滚动到它们所在的位置. 这与图片预加载的处理方式正好是相反的. 实现原理 首

jQuery lazyload 图片懒加载实现

现在网站页面内容越来越丰富,图片内容也越来越多,而图片过多会导致网页文件过大,从而引发加载缓慢的问题,而图片懒加载就是为解决这一问题而生. 首先我们来讲Jquery的懒加载控件  jQuery lazyload.JS jQuery lazyload.JS 地址:https://github.com/helijun/helijun/blob/master/plugin/lazyLoad/jquery.lazyload.js  直接复制源码到本地 jQuery lazyload.JS是用 jQuer