zoukankan      html  css  js  c++  java
  • 懒加载实现

    懒加载:(1)图片进入可视区域之后请求资源,对于电商,页面很长的场景,减少无效的资源加载(单页应用,观看的时候才去加载),(2)并发加载的资源过多会影响网站的正常使用。

    具体实现懒加载:图片的src的地址被改变的时候被加载。监听滑动的事件,当图片进入可视区域的时候才去加载。

      window.onload = function (ev) {
    
             let viewheight = document.documentElement.clientWidth;
             function  lazyload() {
                 //实现懒加载
              let allNode = document.querySelectorAll("img[lazyload][data-origin]");
    
              //进行遍历
                 Array.from(allNode).forEach((item,index)=>{
                       let react;
                       console.log(item.dataset)
                       if(item.dataset.origin === "")
                       {
                           return ;
                       }
                      react = item.getBoundingClientRect();
                      if(react.bottom >=0 && react.top<viewheight){
                          //到达可视区域
                          //给图片提供地址
                          let img = new Image();
                          img.src  = item.dataset.origin;
                          img.onload = ()=>{
                             item.src = img.src;
                          }
                          item.removeAttribute("data-origin");
                          item.removeAttribute("lazyload");
                      }
    
                 })
    
    
             }
             lazyload();//上来先调用一下
             //绑定事件
             document.addEventListener("scroll",lazyload);
         }
    

      

  • 相关阅读:
    初识 Image,region,xld(1)
    Opencv 滤波<11>
    Opencv 掩模<10>
    事件
    Ubuntu16 安装Anaconda3+tensorflow cpu版
    Windows10:Opencv4.0+Opencv4.0.1_contrib编译
    Qt5连接Mysql环境配置
    Qt5显示中文字符
    如何为多个VLAN配置DHCP?
    二层网络架构,接入交换机和核心交换机
  • 原文地址:https://www.cnblogs.com/love-life-insist/p/10122081.html
Copyright © 2011-2022 走看看