美文网首页
图片延迟加载/懒加载

图片延迟加载/懒加载

作者: 没了提心吊胆的稗子 | 来源:发表于2019-08-04 19:30 被阅读0次

$(document).ready()等到DOM加载完成就可以执行,可以执行多次,简写为$(function(){})
window.onload()等网页中所有的资源加载完毕后(包括图片、flash、音频、视频),才能执行,只能执行一次。
作用: 保证页面打开的速度(3S内打不开页面就算是死亡页面)
原理:减少HTTP请求
1、对于首屏内容:首先给对应的区域一张默认图片占位置(默认图需要非常小,一般维持在5kb以内),当首屏内容都加载完成后(或者给一个延迟时间)再加载真实的图片
2、对于其他屏:也是有一张默认的图片占位,当滚动到对应区域的时候再加载真实的图片
扩展: 数据的异步加载,开始只绑定前两屏的数据,后面的数据不进行处理,页面滚动到对应区域再重新请求数据然后绑定渲染数据。
首屏图片延迟加载思路:创建一个临时的Imgage标签,先把真实的图片地址赋值给他,当图片能够正常加载时说明地址是真实有效的,此时再把图片地址赋值给页面中对应的标签,控制其显示为block,释放临时的Imgage标签。

window.setTimeout(function () {
        var oImg = new Image;
        oImg.src = imgFir.getAttribute("trueImg");
        // 当图片能够正常加载(每个图片都有这个方法)
        oImg.onload = function () {
            imgFir.src = this.src; // this是当前临时标签
            imgFir.style.display = "block";
            // 用完释放
            oImg = null;
        }
}, 500);

其他屏图片的延迟加载:如下图,当条件成立,加载真实图片,加载完成后继续滚动就会一直满足条件,就会重复触发加载,造成了资源浪费,因此设置自定义属性说明已经加载过了,后续不再加载(不管正常加载与否都不要处理第二次)

var banner = document.getElementById("banner"),
    imgFir = banner.getElementsByTagName("img")[0];
    window.onscroll = function () {
        if(banner.isLoad){ //加载过就不在二次操作
            return;
        }
       var A = banner.offsetHeight + utils.offset(banner).top;
       var B = utils.win("clientHeight") + utils.win("scrollTop");
       if(A <  B){
           var oImg = new Image;
           oImg.src = imgFir.getAttribute("trueImg");
           oImg.onload = function () {
               imgFir.src = this.src;
               imgFir.style.display = "block";
               oImg = null;
           }
       banner.isLoad = true;
       }
    };

相关文章

  • JS

    JS 懒加载,预加载 概念:懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加...

  • 图片懒加载

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:JS图片延迟加载 延迟加载图片或符合某些条件时才加载某些图片。 预...

  • 懒加载和预加载

    1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟加载图片或符合某些条件时才加载某些图片。预加载:提前加载图片...

  • js 实现图片懒加载

    一、懒加载 懒加载也叫延迟加载,Js中图片的延迟加载,延迟图片需要符合某些条件时才加载;对于图片过多的页面,为了加...

  • javascript图片懒加载与预加载的分析

    懒加载与预加载的基本概念。 懒加载也叫延迟加载:前一篇文章有介绍:JS图片延迟加载 延迟加载图片或符合某些条件时才...

  • 图片懒加载和预加载

    图片懒加载的原理是什么? 首先明白为什么要懒加载: 懒加载即延迟,对于图片过多的页面,为了加快页面加载速度,我们需...

  • 常见网站性能优化方法

    1. 尽量减少HTTP请求次数 合并js 合并css 图片sprite 2. 延迟加载内容 图片懒加载 数据懒加载...

  • 懒加载和预加载

    # 一、图片的懒加载 ### 1.概念 懒加载也叫延迟加载,指的是在长网页中延迟加载图像,是一种很好优化网页性能的...

  • 图片的懒加载和预加载

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

  • 图片延迟加载/懒加载

    $(document).ready()等到DOM加载完成就可以执行,可以执行多次,简写为$(function(){...

网友评论

      本文标题:图片延迟加载/懒加载

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