1

この質問が他のサイトや SO でバラバラ (JS または CSS のみ) で行われているのを見たことがありますが、これを行うための確実な方法はまだ見ていません。

私の状況はかなり一般的です。私は .NET MVC を使用しており、Visual Studio で開発しています。Site.Master ページと複数のビューがあり、それぞれに次のように JS ファイルと CSS ファイルを指定するコンテンツ プレースホルダーがあります。

<asp:Content ID="headerContent" ContentPlaceHolderID="HeaderContent" runat="server">
    <link href="../../CSS/example.css" rel="stylesheet" type="text/css" />
    <script src="../../JS/jquery/jQueryFile.js" type="text/javascript"></script>
    <!-- More files here -->
</asp:Content>

また、私のナビゲーション バーは、 Apple の Web サイトで見られるものと同様のスプライト イメージです。私はヘッダー付きのサイト セクションを持っています。これも Apple のものに似ていますが、これは画像です。したがって、私のサイトは極端に画像が多いわけではありませんが、特に IE (Firefox もある程度) で表示すると、プラグイン用の画像と jQuery ファイルをロードしている間、サイト自体が私の目の前で断片化されます ( datatables プラグインをテーブルに適用するには、常に 1 秒かかります)。

すべての画像、CSS、および JS ファイルが読み込まれるまで、ページをまったく表示したくありません。すべて読み込まれた最終的なサイトを表示する前に、プログレス バーやアニメーション GIF を表示するだけで十分です。Gmail の読み込みバーもこれと同じ考え方を使用していると思います。

これを達成するための最善の方法について何か提案はありますか? どうもありがとう。

4

2 に答える 2

0

これを試してください: http://bytes.com/topic/javascript/answers/512734-how-make-progress-bar-while-browser-loading-page

于 2010-03-01T15:48:45.167 に答える
0

私はまだこれを試していないので、慎重に試してみてください。$(document).ready 内で、アニメーションの円のような読み込みアイコンを表示するオーバーレイを作成します。名前を付けると仮定します#overlay

次に、$(document).ready の外で、これを試してください

$(window).load(function(){
  $("#overlay").hide();
});

$(window).load は、すべての準備が整ったことを意味します: http://4loc.wordpress.com/2009/04/28/documentready-vs-windowload/

于 2010-03-01T15:59:42.363 に答える