js lazyload 延迟加载

lazyload={ img:document.getElementsByTagName('img') ,lazyname:'lazy_src' ,arr:'' ,getTop:function(obj){ var offset=obj.offsetTop; if(obj.offsetParent!=null){offset +=this.getTop(obj.offsetParent);} return offset; } ,init:function(){ var that=this this.pro(); window.onscroll=function(){ that.pro() } } ,pro:function(){ var scrtop=(document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop)+(document.documentElement.clientHeight||window.innerHeight||document.body.clientHeight),i=0; for(;i<this.img.length;i++){ if(this.getTop(this.img[i])<scrtop&&this.img[i].getAttribute(this.lazyname)){ this.img[i].src=this.img[i].getAttribute(this.lazyname); this.img[i].style.opacity=0; this.img[i].removeAttribute(this.lazyname); this.img[i].onload=function(){ var that=this,n=0.1; var time=setInterval(function(){ n=n+0.1; if(n>=1){clearInterval(time);} that.style.opacity=n; },50); } } } } } lazyload.init();

转载于:https://juejin.im/post/5c497644f265da616a47fbca

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值