我被要求将图像 d/b 查询的结果显示为 coverflow-y 类型水平滚动缩略图库(长边 256px,每个约 25kb)。如果(可能)需要一个库,我将使用 jQuery。除了图像之外,图库还可能会显示一些标题(文本)数据。
问题是,用户的查询可能会无意中提取 000 个结果。延迟加载解决了一方面,但我几乎找不到延迟卸载,就好像用户不断滚动图库项目的数量只会不断增加,最终导致浏览器与数据量作斗争。我想我需要让图库加载 10 个项目,显示前 5 个项目,然后惰性添加 X 个项目,之后对于添加的每个项目,我删除第一个图库项目。如果用户向下滚动,则需要延迟重新加载已删除的项目。
我认为这是其他人以前一定遇到过的问题 - 即使在稍微不同的显示环境中。欢迎指导如何超越上述内容。另外,在 WAN(网络)环境中是否还有其他我忽略的性能问题(例如要保持加载的图库项目的数量)?
澄清(针对答案#1)。
也许“不引人注目”的卸载可能是一个更好的术语。其核心是(在 jQuery 上下文中)如何/在哪里放置创建/销毁调用?
假设画廊是滚动的<ul>(可能是水平的,但我想应该允许垂直的)<li>一次显示 N 个项目。查询记录集的偏移量(此处从零开始)可用于播种 id,例如,<li id="x_12">其中 12 是偏移量值。这应该允许代码知道要创建/删除哪个偏移量和项目。它还可以检测开始时的到达(偏移量 0),同时基于 AJAX 的加载可以合并消息机制来指示没有下一个项目(即记录集的上端)。
这个原理我明白了。但由于不太熟悉更复杂的 JavaScript 和 AJAX,我需要了解实际代码细节。我的假设是,如果基本概念有效,我很可能将其添加到现有的基于 JQuery 的画廊中(没有必要重新发明轮子)。