交叉口观察器无法处理通过JS添加的元素

时间:2019-11-12 06:55:03

标签: javascript intersection-observer

我做了一个汽车经销商页面。我将有关汽车的数据存储在一个对象数组中,然后循环遍历以将数据插入HTML文件中以显示在页面上。很好。

当我尝试使用交叉观察器添加延迟加载函数时,就会出现问题。这些东西会正确地放入页面中,但是路口观察者看不到图像,也不会加载它们。

这里是指向代码笔https://codepen.io/russiandobby/pen/xxxJvxv?editors=0010的链接,如果将data-src更改为src,它将起作用。

如何使它工作,以便可以进行延迟加载。

 <img data-src="${car.img}" alt="jag1" class="card-img-top car-img popup-img">

1 个答案:

答案 0 :(得分:1)

您的主要代码很好。

唯一的问题是它在错误的时间运行。当DOM生成代码在DOMContentLoaded上运行时,您尝试立即附加观察者,因此DOM中还没有图像。

您还需要将观察者代码也放在DOMContentLoaded内,或创建一个方法并从那里调用它。

更新后的代码:https://codepen.io/gpetrioli/pen/XWWBvQm?editors=0010

您的代码笔也会失败,因为您使用的是jquery插件而不包含jQuery库