Javascript 在HTML中加载大表,还有哪些可能性?
出于特定目的,我需要一次以表格格式显示数千条记录的信息,而无需将其拆分为较少的记录并浏览页面(如gridview等)。您可以在此处看到此类表格的示例: 然而,问题是加载这样一个表的速度不高。我的问题是如何改进这一点?有哪些其他技术/技术可用于此 任何帮助都将不胜感激 无需将其拆分为较少的记录并浏览页面 为什么不简单地在scroll上创建一个ajax请求,以便在第一次加载页面时只加载可见的记录,而在向下滚动时加载其他记录呢Javascript 在HTML中加载大表,还有哪些可能性?,javascript,html,performance,performance-testing,Javascript,Html,Performance,Performance Testing,出于特定目的,我需要一次以表格格式显示数千条记录的信息,而无需将其拆分为较少的记录并浏览页面(如gridview等)。您可以在此处看到此类表格的示例: 然而,问题是加载这样一个表的速度不高。我的问题是如何改进这一点?有哪些其他技术/技术可用于此 任何帮助都将不胜感激 无需将其拆分为较少的记录并浏览页面 为什么不简单地在scroll上创建一个ajax请求,以便在第一次加载页面时只加载可见的记录,而在向下滚动时加载其他记录呢 例如:我总是发现下划线模板在较大的表中执行 模板: <script
例如:我总是发现下划线模板在较大的表中执行 模板:
<script id="tmpl-students" type="text/template">
<% for (var i = 0; i < students.length; i++) { %>
<% var student = students[i]; %>
<tr>
<td><%= student.name %></td>
<td><%= student.docType %></td>
<td><%= student.field3 %></td>
<td><%= student.field4 %></td>
</tr>
<% } %>
</script>
请看这里:
方法
如果表只是具有相似属性的数据的重复,则可以
JSON
发送数据李>
HandlebarsJS
模板如下所示:
<script id="entry-template" type="text/x-handlebars-template">
<table>
{{#each myData}}
<tr>
{{#each this}}<!-- row's data -->
<td>{{ this }}</td>
{{/each}}
</tr>
{{/each}}
</table>
</script>
{{{#每个myData}}
{{{#每个这个}
{{this}}
{{/每个}}
{{/每个}}
HTML
var mySource=$(“#条目模板”).html();
var myTpl=handlebar.compile(mySource);
var myJSON={/*JSON以上*/};
$(document.body).append(myTpl(myJSON));//将结果插入页面
谢谢您的建议;)
{
myData: [
['row1', 'data', 'data'],
['row2', 'data', 'data'],
['row2', 'data', 'data'],
]
}
<script id="entry-template" type="text/x-handlebars-template">
<table>
{{#each myData}}
<tr>
{{#each this}}<!-- row's data -->
<td>{{ this }}</td>
{{/each}}
</tr>
{{/each}}
</table>
</script>
<head>
<script>
var mySource = $("#entry-template").html();
var myTpl = Handlebars.compile(mySource);
var myJSON = {/* JSON above */};
$(document.body).append (myTpl (myJSON)); // insert result to page
</script>
</head>
<body>
<!-- result should appears here -->
</body>