一,原生javascript图片懒加载

1. 使用方法,例如

// 要绑定的图片地址
<img data-src={url} alt=" ">

2. 在页面中引入下列原生javascript代码

var Lazy = {
"Img": null,
"getY": function(b) {
var a = 0;
if (b && b.offsetParent) while (b.offsetParent) a += b.offsetTop, b = b.offsetParent; else b && b.y && (a += b.y);
return a;
},
"getX": function(b) {
var a = 0;
if (b && b.offsetParent) while (b.offsetParent) a += b.offsetLeft, b = b.offsetParent; else b && b.x && (a += b.X);
return a;
},
"scrollY": function() {
var a = document.documentElement;
return self.pageYOffset || a && a.scrollTop || document.body.scrollTop || 0;
},
"scrollX": function() {
var a = document.documentElement;
return self.pageXOffset || a && a.scrollLeft || document.body.scrollLeft || 0;
},
"windowWidth": function() {
var a = document.documentElement;
return self.innerWidth || a && a.clientWidth || document.body.clientWidth;
},
"windowHeight": function() {
var a = document.documentElement;
return self.innerHeight || a && a.clientHeight || document.body.clientHeight;
},
"CurrentHeight": function() {
return Lazy.scrollY() + Lazy.windowHeight();
},
"CurrentWidth": function() {
return Lazy.scrollX() + Lazy.windowWidth();
},
"Load": function(d) {
Lazy.Init();
var f = Lazy.CurrentHeight(), b = Lazy.CurrentWidth();
for (_index = 0; _index < Lazy.Img.length; _index++) {
var a = Lazy.Img[_index];
$(a).attr("lazy") == undefined && $(a).attr("lazy", "n");
if ($(a).attr("lazy") == "y") continue;
/*$(a).bind("error", function() {
this.id == "subject" ? $(this).attr("src", "") : $(this).attr("src", "http://wap.cmread.com/rbc/p/content/repository/ues/image/s109/nopic.png");
});*/
if (d == undefined || d == "" || d == null) {
var c = Lazy.getY(a), e = Lazy.getX(a);
//e < b && c < f && (a.src = a.getAttribute("data-src"), $(a).attr("lazy", "y"), a.removeAttribute("data-src"));
c < f && (a.src = a.getAttribute("data-src"), $(a).attr("lazy", "y"), a.removeAttribute("data-src"));
$(a).attr("data-rel",e);
} else if (d == "x") {
var c = Lazy.getX(a);
c < b && (a.src = a.getAttribute("data-src"), $(a).attr("lazy", "y")); }
}
},
"Init": function() {
var a = document.querySelectorAll("img[data-src]");
Lazy.Img = a;
}
}; //为滚动轴绑定图片懒加载事件
document.onscroll = function(){Lazy.Load();};
setTimeout(function(){Lazy.Load();},100);//默认配置懒加载

最新文章

  1. 事件分发时候的onTouchEvent,onInterceptTouchEvent,dispatchTouchEvent调用顺序
  2. 2.Java基础之Runtime对象
  3. 也来说说C/C++里的volatile关键字
  4. CSS3径向渐变----大鱼吃小鱼之孤单的大鱼
  5. jquery datepicker 只显示年月
  6. js中正则表达式的模式匹配
  7. leetcode 235. Lowest Common Ancestor of a Binary Search Tree
  8. 微信封号浪潮再起 A货假代购还能在朋友圈泛滥多久?
  9. js中this对象,call,apply
  10. 安卓开发_深入学习ViewPager控件
  11. JS模板Handlebars的使用和有效组织
  12. 百度UEditor编辑器使用教程与使用方法
  13. 搭建hbase-0.94.26集群环境
  14. Android有关JNI 学习(两)为JNI方法名称,数据类型和方法签名的一些知识
  15. ios做的两个矩形相交叉
  16. postfix中recipient/client/sender/helo四者的区别&lt;转载&gt;
  17. 英语词汇周计划(1-1)group 1
  18. js 实现 复制 功能 (zeroclipboard)
  19. linux下tomcat启动很慢的解决办法
  20. C++中cin.getline与cin.get要注意的地方

热门文章

  1. fidder配置 https设置 手机客户端
  2. 构建一个java环境的centos系统镜像并上传到阿里云镜像仓库
  3. Oracle 拆分列为多行 Splitting string into multiple rows in Oracle
  4. hbase 安装(集群模式)
  5. Kubernetes 及安装注意事项
  6. Java 注解基本原理
  7. C# int uint long ulong byte sbyte float double decimal 范围,及类型!
  8. day01——python初始、变量、常量、注释、基础数据类型、输入、if
  9. Spring Boot 注解大全,真是太全了!
  10. HSF 开发