0

リストビュー用に 10000 個のダミー レコードを作成し、2 セットのコードでパフォーマンスをテストしました。

最初の方法。push メソッドを使用し、リストビューに追加します

function CreateList(result){
                var i = 0;
                var lstlist=[];
                for(i=0; i< result.length; i++)
                {                                   
                    lstlist.push("<li id='"+result[i].ID+"'><a><img src='"+result[i].Image+"'><h2>"+result[i].Name+" "+ result[i].ID+"</h2><p>"+result[i].Description+"</p></a>");  
                }   

                $("#lv").append(lstlist);
                $("#lv").listview("refresh");                
            }   

2番目の方法、リストビューへの直接追加

function CreateList(result){
                var i = 0;
                var lstlist=[];
                for(i=0; i< result.length; i++)
                {                                   
                    $("#lv").append("<li id='"+result[i].ID+"'><a><img src='"+result[i].Image+"'><h2>"+result[i].Name+" "+ result[i].ID+"</h2><p>"+result[i].Description+"</p></a>");   
                }                       

                $("#lv").listview("refresh");                
            }

どちらの方法もうまく機能していないようですが、それより良い方法はありますか?

4

1 に答える 1

3

10000 個のダミー レコードは、jQuery Mobile 1.3 では多すぎます。リストビューのスクロール パフォーマンスは、100 個以上の要素の後でも低下し始めます。jQuery Mobile 1.4 のほうがはるかに優れていますが、200 ~ 300 個以上のリストビュー要素にはまだ問題があります。

言うまでもなく、Kendo UI、PhoneJS、または Sencha Touch は、それほど多くのリストビュー要素を処理できません。

最善の方法は、リストビューにページネーションを実装することです。

jQuery Mobile リストビュー ページネーション プラグイン

Github リンク: https://github.com/stakbit/jQuery-Mobile-Listview-Pagination-Plugin

公式サポート: jQuery Mobile 1.3

デモhttp://listomatic.stakbit.com/

または、Pull-to-Refresh を実装します。自分で行うことも、次を使用することもできます。

iScrollView プラグイン

Github リンク: https://github.com/watusi/jquery-mobile-iscrollview

公式サポート: jQuery Mobile 1.3 (1.4 でも動作します)

于 2013-10-30T13:57:28.447 に答える