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