java lazy loading_图片懒加载imgLazyLoading.js使用详解

本文主要介绍web前端使用图片懒加载imgLazyLoading ,供大家参考,具体内容如下

1、html代码

//懒加载对象目标代码

//引用本地js

2、js代码

imgLazyLoading.min.js

jQuery.fn.extend({

delayLoading: function (a) {

function g(d) {

var b, c;

if (a.container === undefined || a.container === window) {

b = $(window).scrollTop();

c = $(window).height() + $(window).scrollTop()

} else {

b = $(a.container).offset().top;

c = $(a.container).offset().top + $(a.container).height()

}

return d.offset().top + d.height() + a.beforehand >= b && c >= d.offset().top - a.beforehand

}

function h(d) {

var b, c;

if (a.container === undefined || a.container === window) {

b = $(window).scrollLeft();

c = $(window).width() + $(window).scrollLeft()

} else {

b = $(a.container).offset().left;

c = $(a.container).offset().left + $(a.container).width()

}

return d.offset().left + d.width() + a.beforehand >= b && c >= d.offset().left - a.beforehand

}

function f() {

e.filter("img[" + a.imgSrcAttr + "]").each(function (d, b) {

if ($(b).attr(a.imgSrcAttr) !== undefined && $(b).attr(a.imgSrcAttr) !== null && $(b).attr(a.imgSrcAttr) !== "" && g($(b)) && h($(b))) {

var c = new Image;

c.onload = function () {

$(b).attr("src", c.src);

a.duration !== 0 && $(b).hide().fadeIn(a.duration);

$(b).removeAttr(a.imgSrcAttr);

a.success($(b))

};

c.onerror = function () {

$(b).attr("src",

a.errorImg);

$(b).removeAttr(a.imgSrcAttr);

a.error($(b))

};

c.src = $(b).attr(a.imgSrcAttr)

}

})

}

a = jQuery.extend({

defaultImg: "",

errorImg: "",

imgSrcAttr: "originalSrc",

beforehand: 0,

event: "scroll",

duration: "normal",

container: window,

success: function () {

},

error: function () {

}

}, a || {});

if (a.errorImg === undefined || a.errorImg === null || a.errorImg === "")a.errorImg = a.defaultImg;

var e = $(this);

if (e.attr("src") === undefined || e.attr("src") === null || e.attr("src") === "")e.attr("src", a.defaultImg);

f();

$(a.container).bind(a.event, function () {

f()

})

}

});

imgLazyLoading.js

$(function () {

$("img").delayLoading({

//defaultImg: "__PUBLIC__/images/img/loading.gif", // 预加载前显示的图片

errorImg: "", // 读取图片错误时替换图片(默认:与defaultImg一样)

imgSrcAttr: "originalSrc", // 记录图片路径的属性(默认:originalSrc,页面img的src属性也要替换为originalSrc)

beforehand: 0, // 预先提前多少像素加载图片(默认:0)

event: "scroll", // 触发加载图片事件(默认:scroll)

duration: "normal", // 三种预定淡出(入)速度之一的字符串("slow", "normal", or "fast")或表示动画时长的毫秒数值(如:1000),默认:"normal"

container: window, // 对象加载的位置容器(默认:window)

success: function (imgObj) { }, // 加载图片成功后的回调函数(默认:不执行任何操作)

error: function (imgObj) { } // 加载图片失败后的回调函数(默认:不执行任何操作)

});

});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值