4

画像に.load関数を追加する必要がありますが、画像がすでにキャッシュされている場合は、この関数を追加したくありません。主な理由は、その.load関数で画像をフェードインし、読み込みインジケーターを非表示にするためです。

画像がすでにキャッシュされている場合は、そのどれも必要ありません。キャッシュにあるかどうかを確認する方法はありますか?

ありがとう、ウェズリー

4

2 に答える 2

3

少し前に質問されたことに感謝しますが、私は同じ問題を解決しようとしていました.

プリローダー効果を呼び出す200ミリ秒の遅延でwindow.setTimeout()を使用し、ロードされる画像の.load()イベントで最初に行うことはタイムアウトをクリアするため、ロードが速かった場合-効果なしが表示されますが、画像の読み込みに 200 ミリ秒以上かかる場合は、プリローダーが表示されます。

var imgTmr;

imgTmr = window.setTimeout(function() {showLoading('zoomImage');}, 200);

$("#zoomImage").load(function() {
    window.clearTimeout(imgTmr);
    hideLoading();
}

$("#zoomImage").attr("src", "myLargeImage.jpg");

// The showLoading() and hideLoading() functions just display a wait graphic 
// the image being loaded in this instance has the id of zoomImage
于 2013-03-23T16:48:50.217 に答える
1

通常、load イベントはそのままにしておきます。画像がキャッシュされている場合でも、コンピュータから読み込むのに数ミリ秒かかります (サイズとコンピュータの処理速度によって異なります)。ロードは、同じソースからではなく、引き続き行われます。したがって、キャッシュされているかどうかにかかわらず、読み込みイベントを関連付ける必要があります。

于 2011-08-17T17:33:18.863 に答える