我的div(#diagram)大于浏览器中的实际可见区域。 #diagram包含多达1500个“盒子”(其他div元素),我想知道这1500个盒子中的哪一个实际上对用户是真的可见,以便我可以在它们进入视图时使用ajax填充它们。我实际上有一些工作代码,但它遍历由onscroll()事件触发的所有元素。这在Chrome中也是如此,但当然我的客户端仍然使用邪恶的浏览器IE8,滚动时所有元素的循环完全迫使我的应用程序跪下。
当元素进入视图或任何其他选项以检测“真实”可见性时是否会触发某种事件?
环境:jQuery / jQueryUI(最新),Internet Explorer 8
提前致谢: - )
./ CJ
答案 0 :(得分:2)
如果您在渲染完所有框时只进行一次,并将它们分组为“页面” - 在父div的[y1,y2]垂直坐标之间可见的DOM div的引用集合,该怎么办?您将拥有<total height of parent div> / <visible height of parent div>
页
您预先加载第一页的内容,然后在每个滚动事件上检查是否应加载下一页框的内容。
答案 1 :(得分:1)
参考 -
Element ‘in view’ Event Plugin
滚动窗口时,事件会根据视口高度和scrollTop位置检查元素的位置。
和
Lazy Load是一个用JavaScript编写的jQuery插件。它延迟了长网页中图像的加载。视口外的图像(网页的可见部分)在用户滚动到它们之前不会被加载