開始時にすべての画像をロードしない単純な jQuery スライドショーを作成しようとしています。代わりに、次に使用する画像を非同期でロードしてページ サイズを縮小します。
スライドショーは機能していますが、次の画像のプリロードが完全に機能していないように見えますか?
例 jQuery
var i = 2;
var total = 9;
var obj = setInterval(function(){
$(".slides_container img").fadeOut("slow", function(){
$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
$(this).fadeIn();
});
});
if(i < total){
i++;
//Preload Next Image
(new Image()).src = "/images/slide-" + i + ".jpg";
}
else
i = 1;
}, 4000);
問題の考えられる原因
preload コメントの下の行は次の画像をロードする必要がありますが、以下で強調表示されているコードは、キャッシュされた画像を使用していないように見えますが、代わりにサーバーから再度プルしますか?
正しく動作.load()
させるためにを使用する必要がありました.fadeIn()
$(this).attr("src" ,"/images/slide-" + i + ".jpg").load(function() {
$(this).fadeIn();
});