高性能纯 JavaScript 懒加载器 Lozad.js

MIT
JavaScript
跨平台
2017-09-20
王练

Lozad.js 是一款基于 IntersectionObserver API 的高性能、轻量级(〜0.5kb)和可配置的懒加载器,纯 JavaScript ,无依赖,可用于延迟加载图片、iframe 、广告、视频和其他元素。

Demo

Usage

在 HTML 中,添加标识符到元素(默认选择器标识为 lozad 类):

<img class="lozad" data-src="image.png" />

然后你需要做的就是实例化 Lozad :

const observer = lozad(); // lazy loads elements with default selector as '.lozad'
observer.observe();

或使用自定义选项:

const observer = lozad('.lozad', {
    rootMargin: '10px 0px', // syntax similar to that of CSS Margin
    threshold: 0.1 // ratio of element convergence
});
observer.observe();

参考:

亦或者你想给定制功能定义加载元素:

lozad('.lozad', {
    load: function(el) {
        console.log('loading element');

        // Custom implementation to load an element
        // e.g. el.src = el.dataset.src;
    }
});

如果想懒加载动态添加的元素:

const observer = lozad();
observer.observe();

// ... code to dynamically add elements
observer.observe(); // observes newly added elements as well
的码云指数为
超过 的项目
加载中

评论(9)

薛定谔的猫___
mark
晨起好学习
晨起好学习
mark
镜中花水月
镜中花水月
mark,感觉自己有点后知后觉啊,每次看到感觉还不错的东西都是几年前,几个月前
阿白
阿白
mark
我就是团队
我就是团队
mk
hiyou
hiyou
mark
haitaosoft
haitaosoft
做了一个 预览所有缩略图再选择大图查看的照片库【 http://haitaosite.cn/ip?u=/photoset/fishtank/ 和 http://haitaosite.cn/ip?u=/photoset/suzhou/ 】,因为一下子加载所有缩略图影响效率也浪费,一直在找滞后加载的方便机制(无须改动太多)。 前几天不得不把缩略图的显示改为分页了,今天看到这个了。。。
tubexu
tubexu
mark

暂无资讯

暂无问答

暂无博客

返回顶部
顶部