0

我正在从 XML 文件中读取记录,并使用 push 方法使用 javascript 在动态创建的 HTML 表(在 id ="content" 的 div 内)中显示它。当记录数低于 1000 时,脚本正常执行并显示内容。但是当记录数超过 100 万时,浏览器(当前使用 Firefox)警告我为无响应脚本(此页面上的脚本可能正忙,或者它可能已停止响应。您可以立即停止脚本,也可以继续看看脚本是否会完成)。我知道我们可以拆分记录并通过页面导航显示,但我需要在当前视图中显示所有记录,就像在 Yahoo!Mail 的滚动选项中一样。或者在显示所有记录之前,我想在“内容”中显示加载图像 div 之后必须显示带有 xml 内容的 HTML 表。我怎样才能做到这一点?

4

2 回答 2

0

您可以在滚动到达最终加载更多记录等后最初加载一些记录。您可以使用以下javascript代码检查滚动结束并加载更多记录:

$('#id').bind('scroll', function(){
            if($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight){
                //load more records
            }
        });
于 2012-07-11T12:11:46.843 回答
0

这是有充分理由的。将数百万条记录加载到网页中并不是一个好主意,因为它会消耗您的 PC 内存。就像人们为此做了很多解决方法一样简单,您可以使用分页来来回移动。你也可以使用延迟加载。就像您一次只能看到 10 条记录一样,因此在向下滚动页面时会动态加载记录许多 js 库对于分页和延迟加载有不同的实现。这是来自 Extjs 的分页示例 在 此处输入链接描述

分页和延迟加载。使用其中一种技术

于 2012-07-11T10:54:25.513 回答