通过滚动,元素进入溢出DIV的可见部分时发生反应

时间:2017-04-27 13:05:39

标签: javascript html javascript-events overflow

我的问题更多的是“你会如何解决这个问题”而不是我要求特定代码。

目前的情况如下:

在我的网站上,有一节我可以展示我的摄影作品。照片显示在一个溢出的DIV内;如果用户想要查看更多照片,他们可以滚动浏览溢出。用户交互明智我喜欢这个系统很多,但当然它有一个缺点,当用户进入页面时所有照片都被加载。用户没有看到这一点,因为丢失的图像隐藏在溢出中,但由于一些用户甚至根本不对我的照片感兴趣,因此会产生大量不必要的流量。

我理想的解决方案是这样的:我想将一些照片标记为“立即加载”(比如溢出的第二张照片),剩下的所有照片都是“动态加载”(所有剩余的照片都是溢出)。现在,当用户滚动溢出时,网站应该总是试图“保持领先”20张用户已经看过的照片,这样他就不会注意到动态加载(所以如果用户在DIV中滚动得足够远,那么看过7张照片,网站应该动态决定加载21到27张照片,另外还有从开始就已加载的照片1到20,因为它们被标记为“立即加载”。)

由于滚动导致之前因溢出而不可见的图像因滚动而进入DIV的可见部分,是否会触发事件?然后我可以对此做出反应。

或者你可能有一些完全不同的想法如何处理这个问题。我想要一些“基本的”javascript解决方案。

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您应该考虑使用virtualization。有一些经过实战考验的解决方案,如React Virtualized。 您还可以基于Intesection Observer API实施自己的解决方案。但是,这可能需要填充不受支持的浏览器。