js实现图片懒加载

一、图片懒加载原理 浏览器是否发起请求图片是根据中src的属性,所以实现原理就是在图片没有进入可视区域的时候将图片链接放在datasrc中,等到图片载入可视区域再给src赋值 二、懒加载思路及实现 懒加载的实现这里提供的两种方法 1.html和css部分 css html
加载中 加载中 加载中 加载中 加载中 加载中
2. js部分,这里介绍两种方法 2.1.传统的方法,利用window和document的API 2.1.1.在实现具体方法前介绍几个API和优化性能的方法 浏览器可视窗口高度:window.innerHeight 滚动区域高度:document.body.scrollTop和document.documentElement.scrollTop 元素距离文档顶部距离:Element.offsetTop 函数节流: 事件触发后执行函数执行期间内事件再次触发,执行函数将不会执行,等规定时间之后事件触发,执行函数方可再次执行。 函数防抖:下文中未用到,就和函数节流一起介绍了。 事件触发停止一定时间后才会执行响应的函数,期间如果重复调用动作,重新计算时间。类似于,按下一个弹簧,只有你松手的时候弹簧才会弹起。本质上是将多次操作合并为一次操作。可用一个定时器维护,事件触发后wait时间内如果事件重复触发,那么取消当前定时器,重新设置一个时延为wait的定时器。 2.1.2.具体实现图片懒加载代码 window.onload=function(){ var imgs=document.querySelectorAll('img'); lazyLoadImg(imgs) window.addEventListener('scroll',throttle(imgs,lazyLoadImg,200)) } //函数节流,在规定时间内才执行一次图片加载函数,解决耗费性能,浏览器卡顿问题。 function throttle(imgs,lazyLoadImg,wait){ var lastTime=new Date().getTime() return function(){ var curTime=new Date().getTime() if(curTime-lastTimescrollTop;//满足从下向上滚动时显示图片的条件 var isScrollTop=imgItem.offsetTop本文章由javascript技术分享原创和收集

发表评论 (审核通过后显示评论):