問題:
場所を示す小さなGoogleマップを含むjQueryMobileドキュメントのダイアログページがあります。ダイアログページをロードする前にマップをロードしたい。のように:
$("#dialogPage").bind("pagebeforeshow", function() {
initializeSmallMap();
});
ただし、div
マップが含まれているdisplay
プロパティにnoneのプロパティがある場合、Googleマップは正しく機能しません(Googleマップの表示:なしの問題を参照)。また、この関数はページが実際に読み込まれる前に実行されるため、containingdiv
には当然display
noneのプロパティがあります。
さて、明らかに、これには簡単な解決策があります。私がする必要があるのは、ページが表示された後にマップを初期化することです。これにより、div
ブロックの表示プロパティが作成されます。
$("#dialogPage").bind("pageshow", function() {
initializeSmallMap();
});
ただし、ダイアログはすでに読み込まれているため、マップが表示されるときに、迷惑で目立つちらつきが発生します。
質問:
説明されているちらつきを取り除くにはどうすればよいですか?
可能な解決策:
div
含まれているマップにブロックのプロパティを持たせる。display
jQuery Mobileを使用していなかった場合、必要になるまでマップを非表示にしたまま、この効果を実装するのは簡単で簡単です。
position: absolute;
left: -10000px;
display: block;
ただし、jQuery Mobileはページスタイルを自動的に上書きするため、これをどのように機能させることができるかわかりません。
div
ます。私はこのオプションをグーグルで検索して運がなかったが、私のひどいグーグルスキルを考えると、これが実際に可能であったとしても完全に驚くことはないだろう。