2012-01-15 73 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节点。这种性能提高是以带宽为代价的,但到目前为止,我的经验是,以这种方式完成移动设备上的总体加载时间。

相关问题