1

jquery mobile で簡単な webapp を作成しました。ユーザーがメイン ページにアクセスすると、移動先を決定するためにクリックできるボタンのリストが表示されます。

ボタンは、使用可能なオプションを把握するためにデータベースを呼び出す php スクリプトへの ajax 呼び出しから生成されます。

いくつかのページがあり、各ページは on のときに独自の ajax 呼び出しを行いpageshowます。各ボタンはリンクにdata-role="button"なっているので見栄えがします。

ただし、私が直面している問題は、ページの変更の間に、ページが変更される前にボタンが醜くなるわずかな遅延があることです。

これは、遅い (またはビジーな) コンピューターでより顕著になります。ページのセットアップに時間がかかる場合 (DB から大量のデータが返される可能性があります)、遅延も発生し、ボタンが見苦しくなります。

これの原因は何ですか?

4

1 に答える 1

1

これを処理するには、(少なくとも)3つのアプローチがあります。

  • ページを表示する前にコンテンツを追加します。動的コンテンツの追加を、pagecreatejquerymobileによるページの拡張の前にトリガーされるイベントに結び付けます。明らかに、呼び出しが非同期の場合、ページが拡張される前に動的コンテンツを取得して挿入する機会がなかった可能性があります。
  • 表示される前に要素を非表示にします。これが私が行う方法です(jqmリストを含むリストでは、ボタンを使用する必要はありません)。要約すると、cssクラスを使用して要素を作成し、display:none;手動で拡張機能を呼び出した後、このクラスを削除します。
  • ボタンを次々に拡張します。要素全体が挿入されるのを待たずに見栄えが良くなるように、.button()挿入した直後に個々の要素を呼び出すことができます(DOMに挿入した場合)。次々に)。それでも、要素ごとに醜いものから素敵なものへのわずかな「点滅」が発生する可能性がありますが、それはほとんど目立たないはずです。
于 2012-11-13T13:44:01.003 に答える