2012-01-15 77 views
4

我有一個大的嵌套數組,我通過在PHP中解析CSV文件生成。我用JSON輸出它,並讓我的jQuery Mobile站點獲取它,然後將它解析爲DOM列表<ul><li>。這在我的桌面瀏覽器上運行良好,但似乎永遠在我的移動設備上。在jQuery Mobile中加載大型嵌套列表的最快方法是什麼?

然後我讓PHP腳本實際輸出HTML,並將其粘貼到我的jQuery Mobile站點中,以查看它是否加快了速度。這基本上消除了獲取任何數據。 index.html中只有一個非常大的嵌套<ul>。我想這肯定會加載,但現在在我的移動設備(Nexus One & Blackberry)上似乎需要甚至更​​長的

有什麼辦法可以加快速度嗎?這裏是演示http://pastehtml.com/view/bkrviwxp4.html

我試圖在鏈接上進行數據預取,但是這阻止了頁面完全加載到黑莓上。

回答

6

正如我所看到的,您正在處理所有元素,但不會一次顯示所有元素。嘗試處理和添加到DOM只有這些元素將被顯示。即使只有一對元素,JQuery-mobile本身也很慢,你有成千上萬。

+0

我不知道爲什麼我沒有想到這一點!它工作得很好!現在我所要做的就是弄清楚如何使用後退按鈕,所以它的功能就像嵌套列表一樣。謝謝! – 2012-01-16 19:10:01

2

不使用jQuery Mobile的嵌套列表視圖功能會更快,因爲它不是用於高效加載大量元素的。開發團隊過去甚至有嵌套列表功能considered deprecating

相反,呈現嵌套數據的更好方法是將列表的每個級別放入其自己的HTML頁面中,並使用標準的jQuery Mobile頁面模型來顯示它。根據我的經驗,如果您有大量標記需要jQuery Mobile解析,那麼您可以通過讓PHP腳本生成必要的標記和類並創建您自己的jQM小部件來顯着提高性能不要試圖遍歷數百個DOM節點。這種性能提高是以帶寬爲代價的,但到目前爲止,我的經驗是,以這種方式完成移動設備上的總體加載時間。

相關問題