画像に.load関数を追加する必要がありますが、画像がすでにキャッシュされている場合は、この関数を追加したくありません。主な理由は、その.load関数で画像をフェードインし、読み込みインジケーターを非表示にするためです。
画像がすでにキャッシュされている場合は、そのどれも必要ありません。キャッシュにあるかどうかを確認する方法はありますか?
ありがとう、ウェズリー
画像に.load関数を追加する必要がありますが、画像がすでにキャッシュされている場合は、この関数を追加したくありません。主な理由は、その.load関数で画像をフェードインし、読み込みインジケーターを非表示にするためです。
画像がすでにキャッシュされている場合は、そのどれも必要ありません。キャッシュにあるかどうかを確認する方法はありますか?
ありがとう、ウェズリー
少し前に質問されたことに感謝しますが、私は同じ問題を解決しようとしていました.
プリローダー効果を呼び出す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
通常、load イベントはそのままにしておきます。画像がキャッシュされている場合でも、コンピュータから読み込むのに数ミリ秒かかります (サイズとコンピュータの処理速度によって異なります)。ロードは、同じソースからではなく、引き続き行われます。したがって、キャッシュされているかどうかにかかわらず、読み込みイベントを関連付ける必要があります。