lazyload.js 既 jquery.lazyload.js,作者 Mika Tuupola 。2.0 版本后插件不再依赖 jQuery ,之前的版本是依赖 jQuery 的,之前的默认使用自定义的 data-original (可修改)保存真实图片地址,2.0 之后新版本使用 data-src 保存真实图片地址,另外,设置参数调整较多。
对于一些图片使用比较多的网站,可能网页加载会比较慢,同时过多的请求也会造成服务器压力。 lazyload.js 可以很好地实现对于一些长网页,当网站用户未滑动到底部时不加载图片,直到用户滑动到指定位置时再发出请求,加载指定的图片。
lazyload.js 的实现说来也简单,它通过将 img 的 src 属性设置为一张公用的小尺寸图片,然后将真实图片链接存入到 data-src 属性中,直到触发加载时向服务器发送请求加载真实图片并将其设置为 src 属性来实现图片的懒加载。下面我们简单说下 lazyload.js 的使用方法。
照常例,使用 lazyload.js 之前我们需要先引入它:
<script src="https://cdn.jsdelivr.net/npm/lazyload@2.0.0-rc.2/lazyload.js"></script>
引入之后编辑适当的 HTML 代码即可,只需要在 img 标签中添加 data-src 属性及 lazyload 类即可,如下所示:
<img class="lazyload" data-src="img/example.jpg" width="765" height="574" />
<img class="lazyload" src="img/example-thumb.jpg" data-src="img/example.jpg" width="765" height="574" />
基本上是这两种方式,不过如果未设置 src 属性的话可能导致网站布局错乱,为此可以预加载一张缩略图占位。
使用如下工厂方法对插件进行初始化,如果未设置图像元素筛选需要懒加载的图像的话,默认插件会查找 lazyload 类名对所有图像进行懒加载。
lazyload();
当然你也可以为其制定具体的元素,如下所示:
let images = document.querySelectorAll(".branwdo");
lazyload(images);
当然,使用构造函数的方式也可以:
let images = document.querySelectorAll(".branwdo");
new LazyLoad(images);
而且你还可以向其传递一些参数哦:
new LazyLoad(images, {
root: null,
rootMargin: "0px",
threshold: 0
});
lazyload.js 提供了一些额外的 API 使用这些 API 前需要先声明一下:
let lazy = lazyload();
要强制加载所有图片可以:
lazy->loadImages();
要停止使用 lazyload 可以:
lazy->destroy();
需要注意的是 destroy() 不会继续加载可视区域外的图像,想要加载这些图像可以用 loadAndDestroy():
lazy->loadAndDestroy();
如果使用了 jquery 则可以使用老方法调用 lazyload ,值得注意的是以前的版本使用 data-original 保存的真实图片地址。
<img class="lazyload" data-original="img/example.jpg" width="765" height="574">
<img class="lazyload" src="img/example-thumb.jpg" data-original="img/example.jpg" width="765" height="574">
$("img.lazyload").lazyload();
上面基本是按照作者 2.x 新版本源文档翻译过来的,2.x 新版本尚未正式发行,因为主题基于 jQuery ,WordPress 也使用了 jQuery ,所以还是说下基于 jQuery 的老版本的设置方法吧!
同样的引入方法:
<script src="jquery-1.11.0.min.js"></script>
<script src="jquery.lazyload.js?v=1.9.7"></script>
HTML 书写方式:
<img class="thumb" src="img/example-thumb.jpg" data-original="img/example.jpg">
懒加载调用方法:
$("img.thumb").lazyload();
截取了 Version: 1.9.7 源码的默认配置界面大家可以简单看下,主要讲下这几个参数的配置
专业提供WordPress主题安装、深度汉化、加速优化等各类网站建设服务,详询在线客服!