Javascript Phonegap - 保存所有<li>以避免浪费时间</li>

时间:2014-02-25 20:53:07

标签: javascript html list session cordova

我正在迭代我的本地数据库并将表的每个项目添加到列表中。因为我在该表中有超过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);
    }   

1 个答案:

答案 0 :(得分:0)

我建议在document.createDocumentFragment中执行所有追加,然后在完成构建每个LI的循环后,将其附加到实时DOM。