2017-08-07 95 views
0

我正在将猫头鹰旋转木马集成到iPad应用程序中。如果用户没有筛选出要在传送带上显示的项目,则传送带可以有1000个项目。猫头鹰旋转木马 - 动态添加/删除项目

为了帮助解决性能和加载问题,我目前只有25个物品,然后当用户在转盘上导航时,它会动态地将另外25个物品添加到转盘末端。只要用户在旋转木马的尽头中途停下,直到没有更多项目要添加为止,它就会这样做。

现在正在发生的问题是,当传送带变为约300张图像时,仍然存在一些内存问题。该应用程序将崩溃。

我在想,我需要从旋转木马的开始处移除物品,但我正在为如何做这项工作画空白。这里有几点注意事项:

  • 我需要能够保持旋转木马当前的位置,当项目被预置在开始。
  • 传送带需要保持与起始数组相同的顺序。
  • 用户不应该能够注意到轮播中的更改,不能影响用户体验。

我最初的想法是尝试在转盘中保留50个项目,然后当用户在转盘上来回导航时,根据需要从任一端添加/删除项目。我似乎正在编码器 - 因为我看不到如何开始。

谢谢你们!

回答

0

只要使用它的一个功能,延迟加载:

http://www.landmarkmlp.com/js-plugin/owl.carousel/demos/lazyLoad.html

+0

我实际上在应用程序中使用了LazyLoading,但有可能这个轮播可以有多达12,000个图像,并且它似乎仍然陷入/崩溃了应用程序。这就是我在做这些额外的动态加载/卸载项目的原因。 – TroyG

+0

有一个变化...你测试了吗?延迟加载使用ajax,它不会在其视图之前加载图像。 – Wordica

+0

ps。如果你需要这样的解决方案,用于加载/卸载12.000个项目,那么你需要创建自己的插件。我不知道任何将以这种方式工作的传送带插件。但旋转木马并不难写。 – Wordica

0

您可以使用remove.owl.carousel从传送带移除元素,它不会干扰电流流动,使用者不会感到轮盘任何变化。 我已经做了,像

$('#owl-carousel').trigger('remove.owl.carousel',0).trigger('refresh.owl.carousel'); 

这里0是单元号,你可以用每个元素的添加使用。

相关问题