zoukankan      html  css  js  c++  java
  • 原生javascript代码懒加载

    1.先定义需要懒加载的样式;

    class="lazyload"

    2.设置初始透明度为0.1;

    .lazyload{

      filter: Alpha(opacity=10); -moz-opacity:0.1; opacity:0.1;

    }

    3.把真正需要加载的真实地址放在data-src属性中;

    src="懒加载图片.png" data-src="真实图片";

    4.

    前端开发周大伟同学JavaScript代码编写:

    // 懒加载
    function lazyLoad(){ 
      if (window.addEventListener){
        window.addEventListener("load",loading);
        window.addEventListener("click",loading);
        window.addEventListener("scroll",function(){
          setTimeout(loading,100);
      });
      } else if (window.attachEvent) {
        window.attachEvent("onload",loading);
        window.attachEvent("onclick",loading);
        window.attachEvent("onscroll",function(){
          setTimeout(loading,100);
        });
      }
    }

    function loading(){
      var lazyload=document.getElementsByClassName("lazyload");
      for(var i=0;i<lazyload.length;i++){
        var _this=lazyload[i];
        var clientHeight=document.documentElement.clientHeight || document.body.clientHeight;
        var scrollTop=document.documentElement.scrollTop || document.body.scrollTop;
        if(clientHeight+scrollTop>=offsetTop(_this)){
          _this.setAttribute("src",_this.getAttribute("data-src"));
          _this.style.opacity=1;
        }
      }
    }

    //获取offsetTop和offsetLeft值的js代码(兼容)
    function offsetTop( elements ){
      var top = elements.offsetTop;
      var parent = elements.offsetParent;
      while( parent != null ){
        top += parent.offsetTop;
        parent = parent.offsetParent;
      };
      return top;
    };

  • 相关阅读:
    鼠标向下滑动加载div
    选择排序
    插入排序法
    Android问题-Delphi XE5 常用功具与下载
    Android问题-DelphiXE5编义时提示找不到“连接器(arm-linux-androideabi-ld.exe)"
    VisualStudio2010中创建ASP.Net WebService
    delphi调用webservice (.NET C#版)
    delphi 完全控制Excel 文件
    EXCEL 建立工作薄与工作表
    Delphi给窗体镶边-为控件加边框,描边,改变边框颜色
  • 原文地址:https://www.cnblogs.com/zhoudawei/p/6970725.html
Copyright © 2011-2022 走看看