1

画像のURLを配列に保存するjqueryに組み込まれたスライドショーがあります。次のボタンをクリックすると、画像を取得して表示するようにサーバーに要求が送信されます。これは機能しますが、画像が取得されると、画像は上から下に徐々に読み込まれます。次のコードを追加してこれを解決しました...

//Preload background images
            function MM_preloadImages() { 
              var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
                var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
                if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
            }
            MM_preloadImages(<%= preloadImages %> );

問題は、最初の画像の読み込みに時間がかかることです。私はページが最初の画像でロードされ、次にバックグラウンドのプリロード機能で他の画像がロードされると思いましたか?

アドバイスをありがとう。

4

1 に答える 1

0

投稿したコードからプリロードが発生する順序はわかりませんが、コードを変更して、現在のページのロードが完了した後にのみ MM_preloadImages を実行することができます。

そうは言っても、最初にすべての画像をプリロードしているようです。次の画像または 2 枚の画像をプリロードして、スライドショーが進むたびにそれを続けてみませんか? この方法では、ユーザーが次のスライドに移動しようとしている間、ブラウザはショー全体を読み込もうとしてビジーではありません。

于 2011-04-01T12:46:00.003 に答える