我正在迭代我的本地数据库并将表的每个项目添加到列表中。因为我在该表中有超过3,000行,所以附加所有这些项需要10秒钟。我尝试取出jQuery Mobile,但仍需要很长时间。
例如,我有我的客户列表,我等了10秒才能获得其中的3,000个,然后,我触摸其中一个以查看详细信息,当我回去时,它又开始追加3,000个必须一次又一次地等待那段时间。
有没有办法只在第一次这样做?我尝试将html保存为会话变量,但也需要很长时间。
我就是这样:
function getProducts(){
var query ="SELECT name FROM person";
db.transaction(function (tx){
tx.executeSql(query, [], function (tx, results){
var len = results.rows.length;
for (var i = 0; i < len; i++){
$('#customers').append("<li>" + results.rows.item(i).name +
"</li>");
}
}, callBack);
}, callBack);
}
答案 0 :(得分:0)
我建议在document.createDocumentFragment中执行所有追加,然后在完成构建每个LI的循环后,将其附加到实时DOM。