为移动设备加载大量html文本

为移动设备加载大量html文本,html,jquery,dom,web-applications,rendering,Html,Jquery,Dom,Web Applications,Rendering,我正在开发一个webapp,它需要以下内容: 基于复杂函数以html(使用$.ajax)动态加载大量文本(大约30-100个打印页面)的页面 提前加载所有文本。一次不能加载一点 一次只显示少量文本 我可以通过将所有html加载到一个div元素(库)中来实现这一点,我将其隐藏起来。我使用jquery在可见的div(content)中一次显示一点 ... ... 我的问题是,将此文本保留在这个div中会减慢网页的初始加载和操作(它有动画等)。我已经能够确定

我正在开发一个webapp,它需要以下内容:

  • 基于复杂函数以html(使用$.ajax)动态加载大量文本(大约30-100个打印页面)的页面
  • 提前加载所有文本。一次不能加载一点
  • 一次只显示少量文本
  • 我可以通过将所有html加载到一个div元素(库)中来实现这一点,我将其隐藏起来。我使用jquery在可见的div(content)中一次显示一点

    
    
    ...
    ...
    我的问题是,将此文本保留在这个div中会减慢网页的初始加载和操作(它有动画等)。我已经能够确定html的加载速度相当快,但需要花费大量的时间进行处理(渲染?)


    我怎样才能不让这个简单的文本库占用这么多内存呢。除了隐藏库div之外,还有什么方法可以防止浏览器渲染库div吗?是否有更好的地方保存此内容(例如javascript变量),在那里我仍然可以使用jquery访问其html元素?

    您可以在javascript变量中输出隐藏的内容,而不是在文档中作为html输出,因此:

    <ul index="450"> ...lots of HTML... </ul>
    
    这样,将每个页面的HTML解析为DOM的成本只有在实际显示该页面时才会产生,而不是在加载时


    只是要小心避开存储在JavaScript字符串中的HTML——引号、反斜杠、换行符和
    让人想起。

    这正是我想要的。现在快多了。谢谢
    <ul index="450"> ...lots of HTML... </ul>
    
    <script>pages[450] = "...lots of HTML...";</script>
    
    $('#content').html(pages[N]);