原生js实现图片懒加载需要的条件
1、scroll事件
2、元素是否处于可视区域
当scroll事件触发的时候,根据计算,判断元素是否在可视区域,我们可以通过两种方式计算
第一种方式,也是比较简单的方式
1、使用原生API --- getBoundingClientRect.top 获取元素顶部距可视区顶部的高度top
2、使用 window.clientHeight 获取可视区的高度viewHeight
公式 top < viewHeight 的时候,说明该元素处于可视区了,这时候就可以给img标签添加src属性
第二种方式
1、元素顶部到父元素顶部的距离 --- offsetTop a
2、父元素顶部到可视区顶部的距离 --- scrollTop b
3、可视区的高度 --- clientHeight c
当 a - b < c,说明该元素处于可视区,给img标签添加src属性
网友评论