something.phpのすべてのコンテンツ(画像、js を含む) が完全に読み込まれるまで、jQueryが DOM$('body').load('something.php');
を変更しないようにする方法
-実際のコンテンツは次のとおりです。
Hello world
そしてsomething.php
内容は:
image that loads for 10 seconds
20 js plugins
.load() 関数を起動した後、画像と js ファイルが完全に読み込まれるまで何も起こらず、THEN
コンテンツが即座に変更されます。
一部のプリローダーが表示される場合がありますが、それは問題ではありません。
[編集] - - - - - - - - - - - - - - - - - - - - - - - - -----------------------
そのための私の解決策は、クロスブラウザーの不透明度が 0 の css コード (css は常に dom がビルドされる前にロードされる) でした。
.transparent{
-moz-opacity: 0.00;
opacity: 0.00;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=0);
filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
filter:alpha(opacity=0);
}
また、通常はコンテンツのちらつきを防ぎますが、常にではありません。コンテンツが jQuery ajax によってロードされたことを何らかの方法で検出し、いくつかの表示タイムアウトなどを適用することが可能になりました。しかし実際には、疑問はまだ未解決です。
その質問のもう少し簡単な例を次に示します。
.load('something.php') 関数を起動するリンクをクリックした後、3000ms の遅延で $('body').load('something.php') の後に DOM の変更を開始する方法は? (ブラウザはすぐにダウンロードを開始する必要がありますが、DOM の変更は後で開始する必要があります)