0

パフォーマンスが損なわれないように、選択項目の大きなリストを作成するための最良の方法は何かを経験から教えてもらえますか。

ユーザーが自分の国または言語を選択できる設定ページを作成したいと思います。両方の選択メニューは、20 ~ 30 項目を超えます。1 つのラジオボタン リストでオーバーレイを作成し、ユーザーがスクロールしてアイテムを選択できるようにすることを考えました。

これはパフォーマンスですか?他にクールな解決策はありますか?

このレイアウトを Phonegap に使用したいのですが、ネイティブ関数を使用してこのメ​​ニューを作成する方法がないことを意味します。JQM 関数の代わりにそれらを使用する方がよいでしょう。

どう言う意味ですか?

4

2 に答える 2

1

これを行うクールな魔法の方法がないことを理解する必要があります。jQM は、可能な限り高速な jquery に依存しています。

20~30個は悪くない。50 個以上の項目がある場合は心配する必要があります。100 個の項目の選択ボックスのレンダリングには約 2 秒かかります。

主なパフォーマンスの問題は listview("refresh") メソッドです。一般的な js DOM メソッドを使用して高速化する方法は 1 つしかありません。残念ながら、正しく複製するには多くの時間を費やすことになります。

古いモバイル デバイスでパフォーマンス テストを行うことをお勧めします。jQM が 500 ミリ秒を超えるリストビューをレンダリングしている場合、カスタム ajax ローダーを使用して、アプリケーションが動作していることを示します。他にできることは何もありません。

于 2012-12-08T17:22:07.340 に答える
0

それがクールな解決策かどうかはわかりませんが、リストを使用して選択する代わりにnavigator.appVersion、言語を自動的に決定するために使用できます。次の JavaScript スニペットを参照してください。

<script>
  alert(navigator.appVersion);
</script>

Android 2.2 を搭載した Android デバイスでの対応する結果:
ここに画像の説明を入力
言語を解析するだけで済みます。この例ではde-deです。

于 2012-12-08T18:53:50.163 に答える