2017-08-07 92 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是單元號,你可以用每個元素的添加使用。

相關問題