lazyload.js图片懒加载封装
图片懒加载的封装代码,叫 lazyload.js
,用的是浏览器自带的 IntersectionObserver,所以性能还挺靠谱的,兼容也不错。你只要把图片的真实地址放到 data-src
上,它就能在图片快出现在视口的时候自动加载。
嗯,整个逻辑比较清晰,没加太多花里胡哨的东西。监听元素有没有进入视口,进来了就换 src
。你不用管滚动节流、监听解绑这些,它都帮你做好了。
你要是平常在做图文列表,或者图片比较多的电商页面,用这个真挺省事。写法也顺手,不用引第三方库,也不用手动绑事件。甚至连 JQ 都不用,纯原生的。
要是你还没接触过 IntersectionObserver,可以先看看这几个例子:示例一、详细用法。挺好上手的,逻辑也蛮直观。
建议你在项目里做下兼容性判断,虽然主流浏览器都支持,但万一有老机型也别掉坑里了。另外,图片多的话最好压缩一下,不然加载了也会卡。
如果你正好在优化首页首屏加载速度,或者做移动端图集,那这份代码你可以直接拿去用,懒加载做得还挺稳的。
下载地址
用户评论