首先,这段代码确实有效,当它处理一些项目时,它的工作速度非常快。但是,当它解析的 JSON 有 50 多个项目时,在手机上进行测试时可能会占用大量资源。
任何人都可以建议我可以在 JAVAScript 或 JQUERY 世界中看到的特性或功能吗?
理想情况下,我认为如果我不能加快速度,我希望能够 a)在检索时拆分 JSON,并能够有一个“更多”按钮来加载接下来的 25 个条目,或者...... b)仅在需要在屏幕上显示时才解析每个条目。
我很感激你的想法。
TIA
编辑只是添加我可以做这个服务器端(资源有限)或限制条目(再次服务器端)我试图下载以供离线使用手机(或浏览器)上的数据和处理....
function showResultjsonp() {
var retrieveddodlocaldata = localStorage.getItem(jsonpservice);
var json_parsed = $.parseJSON(retrieveddodlocaldata);
for (var d = 0; d < json_parsed.svccurrentaiot_jsonp.length; d++) {
var parseddata = json_parsed.svccurrentaiot_jsonp[d];
$('#eventlist')
.append($('<div data-role="collapsible" data-collapsed="true">')
.html('<h3><img alt="' + parseddata.dataitem.1 + '" src="images/icons/' + parseddata.dataitem.2 + '.gif"> ' + parseddata.dataitem.2 + '</h3><p>' + parseddata.dataitem.9 + '</p>Event ' + parseddata.dataitem.4 + ' ' + unittype + '<br/>Retricted ' + parseddata.dataitem.5 + '<br/>Impact ' + parseddata.dataitem.6 + '<br/>Delay <br/>Lat / Long ' + parseddata.dataitem.7 + ' / ' + parseddata.dataitem.7 + '<br/>Valid to ' + parseddata.dataitem.8 + '</div>'));
}
$('div[data-role=collapsible]').collapsible();
};
解决方案感谢此页面和http://twitter.github.com/hogan.js/上的贡献
function showResultjsonp() {
var retrieveddodlocaldata = localStorage.getItem(jsonpservice);
var json_parsed = $.parseJSON(retrieveddodlocaldata);
var datatemplate = Hogan.compile('<div data-role="collapsible" data-collapsed="true"><h3><img alt="{{item}}" src="images/trafficicons/{{item}}.gif"></div>');
// store for all rendered items
var result = "";
for (var d = 0; d < json_parsed.svccurrentaiot_jsonp.length; d++) {
var parseddata = json_parsed.svccurrentaiot_jsonp[d];
//result += render(parseddata);
result += datatemplate.render({"item" : parseddata.dataitem.item});
console.log(result);
}