美文网首页
实现一个图片懒加载

实现一个图片懒加载

作者: chengfengwang | 来源:发表于2018-11-07 11:29 被阅读0次

思路:监听网页的滚动事件,滚动时遍历查看图片是否在可视区域内,赋值图片的src

class lazyImg {
    constructor(el) {
        //将想要转换成数组的伪数组对象或可迭代对象 转换成数组
        this.imgArr = Array.from(document.querySelectorAll(el));
        this.init()
    };
    bindEvent() {
        window.addEventListener('scroll',()=>{
            this.main()
        })
    };
    main() {
        for (var i = 0; i < this.imgArr.length; i++) {
            if (this.imgArr[i].getBoundingClientRect().top <= window.innerHeight) {
                var temp = this.imgArr[i].getAttribute('data-src');
                this.imgArr[i].src = temp;
                //已加载过的从图片数组里删除掉,避免后面onscroll不必要的循环
                this.imgArr.splice(i, 1);
                i--;
            }
        }
    };
    init() {
        this.main();
        this.bindEvent();
    }
}
new lazyImg('.list img')

相关文章

  • 图片懒加载的原理

    懒加载思路及实现 实现懒加载有四个步骤,如下:1.加载loading图片2.判断哪些图片要加载【重点】3.隐形加载...

  • 图片懒加载

    前端实现图片懒加载(lazyload)的两种方式 原生JS实现最简单的图片懒加载 30行Javascript代码实...

  • 图片懒加载的使用方法?

    图片懒加载 图片懒加载实现原理: 可以图片src配置一个假的地址,同事给添加一个data-url属性指向真是url...

  • 无限滚动的优化方案(二):懒加载实现

    之前对预加载的实现方案做了介绍,这一篇文章主要是我对图片的懒加载的实现的一个总结。主要包括: 视区检测 图片懒加载...

  • 懒加载和瀑布流

    一、简述图片懒加载的实现原理 图片懒加载 若一开始,页面上有许多的图片要加载,而如果同时加载这么多图片,会消耗性能...

  • 图片的懒加载和预加载

    懒加载:又称延迟加载,需要等到某个情况下才加载,相对可以缓解服务器压力。 实现原理:以懒加载图片为例,当加载图片较...

  • 笔记 - 图片的加载 & 懒加载

    实现图片的加载 图片的懒加载 实现方案:在img标签内自定义一个属性data-src,用于暂存图片地址获取屏幕可视...

  • 实现图片懒加载

    项目中遇到一个公示信息列表,其中有图片预览, 因为窗口小、列表长、图片多,加载很慢,于是想把图片做成懒加载模式。 ...

  • 图片懒加载实现

    先将img标签的src链接设为同一张图片(比如空白图片),然后给img标签设置自定义属性(比如 data-src)...

  • 图片懒加载实现

    一、为什么要懒加载 有时候一个网站里面会有几百张甚至几千张上万张图片,这个时候如果所有图片一起加载的话就会导致服务...

网友评论

      本文标题:实现一个图片懒加载

      本文链接:https://www.haomeiwen.com/subject/ctbuxqtx.html