把图片往下面排,之后在写上img标签这里是图片布局的位置(这里我演示效果样子就直接放img了),把图片引进来(这里src引进来的是默认图片,这里我用loading.gif默认显示),然后用data-这个自定义属性放入正确图片的src,同来替换。
目前效果图: 二、现在加上js部分,首先获取到每一个img标签,这里IntersectionObserver来实现效果,Intersection的意思是交叉,交集的意思,Observer是观察的意思,所以IntersectionObserver的意思就是观察交叉部分(就是可视区域到img标签的部分)。 先来一个实例look,然后遍历每一个图片img,这里我用数组的forEach来遍历到每一个img,然后给每一个imgage 这里img已经在imgs这个数组里了,我用image来表示,加上一个观察look.observe(imgage)。 IntersectionObserver有一个返回值,这里我用entries形参来接收。我们看到返回的是一个数组 然后我们遍历这个entries数组拿到每一项entry。我用红框到一个isIntersecting属性,当我们没有看到图片时,他的值是false,当我们滑到图片的位置时会变成true。这样就好办了 我们用entry.isIntersecting的真假来判断,为true时就把img的src替换为data-的图片src。大家应该看到我用红框的一个target:img了吧,没错这里就是我们要替换的img。 obserev 是观察的意思,那 unobserev 的意思就是不观察了,我们每次滑动都会触发obserev这个观察事件,所以当观察到结果后,就取消观察 look.unobserev()
三、没有到图片位置是,默认显示的是loading.gif,到达图片位置了,加载要展示的图片。实现效果图:



