图片懒加载imgLazyLoading.js使用详解
程序员文章站
2022-08-09 22:19:12
本文主要介绍web前端使用图片懒加载imglazyloading ,供大家参考,具体内容如下
1、html代码
//懒加载对象目标代码
本文主要介绍web前端使用图片懒加载imglazyloading ,供大家参考,具体内容如下
1、html代码
//懒加载对象目标代码 <img originalsrc="__public__/images/home/icon_pingtuan.png"> //引用本地js <script src="__public__/js/imglazyloading.min.js"></script> <script src="__public__/js/imglazyloading.js"></script>
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) { } // 加载图片失败后的回调函数(默认:不执行任何操作) }); });
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
jquery图片播放浏览插件prettyPhoto使用详解
-
jquery插件lazyload.js延迟加载图片的使用方法
-
Jquery图片延迟加载插件jquery.lazyload.js的使用方法
-
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
-
详解React开发中使用require.ensure()按需加载ES6组件
-
详解Android 在 ViewPager 中使用 Fragment 的懒加载
-
js前端实现图片懒加载(lazyload)的两种方式
-
jquery实现异步加载图片(懒加载图片一种方式)
-
JavaScript实现图片懒加载的方法分析
-
使用 Node.js 实现图片的动态裁切及算法实例代码详解