lazyload.js IntersectionObserver图片懒加载工具

浏览器自带的 IntersectionObserver 做懒加载,响应快,性能也稳定,不用额外引入库,写起来还挺舒服的。lazyload.js 就是我自己封装的一个小工具,比较适合纯前端项目,也挺适合 Vue 这类框架配合用。

以前做图片懒加载,动不动就 jQuery 插件一大堆,加载快慢也不好控制。现在直接靠浏览器原生 API,观察元素是否进入视口,触发加载逻辑,逻辑清晰,性能也靠谱。

像那种产品图多、页面长的电商项目,或者内容图片一大堆的博客页面,用这个真的挺省事。你只需要加个data-src属性,配合一点 CSS 占位,基本就搞定。

需要注意的是,IE 不支持这个 API,老项目就别勉强了。但现代浏览器都挺稳的,你放心用。

如果你还不太了解 IntersectionObserver,可以看看这篇《JavaScript-lazyload 图片懒加载》,讲得比较清楚,还有 demo 演示。

另外,如果你对懒加载的各种方案感兴趣,这篇图片懒加载方案》也挺值得一读,涵盖了从原生到框架的几种方式。

lazyload.js 适合喜欢轻量工具的你,代码不多,逻辑简单,用着舒服。

如果你在用 React 的话,也可以参考下这篇React 应用懒加载演示》,思路类似,配合组件拆分更灵活。

嗯,有问题欢迎留言,或者直接去改源码也行,代码干净,改起来不费劲。

js 文件大小:775B