私は1つの画像を表示するだけの画像を表示し、最後に到達するまで別の画像を表示する簡単なスライドショーを表示します。このサイトはDjangoでapache2で提供されています。スライドショーはほとんどのマシンでは完璧に機能しますが、一部の画像では2回の画像が表示され、他の画像ではまったく表示されず、タイミングがオフになります。私はjquery 1.4.3を使用しています。以下はシンプルなjquery特定のブラウザでフェードスライドショーが失敗する
私はjavascriptの
以下{% for image in latest_images %}
{% thumbnail image.image_file "800x600" crop="center" as im %}
<script>FadeImageList.push("{{im.url}}");</script>
{% endthumbnail %}
{% endfor %}
に、データベースから画像のURLをプッシュするHTMLのセクションでは、完全なJavaScriptのファイル
var FadeImageList = [];
var fadeDuration = 2000;
var fadeImgID = '#slideShow';
var homePageID = '#homePage';
var menuID = '#menu';
var skipFlag = 0;
$(document).ready(function(){
$(homePageID).fadeOut(50);
PlaySlideshow(FadeImageList);
});
var PlaySlideshow = function(FadeImageList){
var newImgSrc = FadeImageList.shift();
$('#skip').click(function(){$('#loader').show();skipFlag = 1;});
if(((typeof(newImgSrc) !== "string") || (skipFlag === 1))){
EndSlideShow();
return;
}
else{
$(fadeImgID).fadeOut(fadeDuration,function(){
$(fadeImgID).attr('src', newImgSrc);
$(fadeImgID).fadeIn(fadeDuration,function(){
PlaySlideshow(FadeImageList);
});
});
}
};
var EndSlideShow = function(fadeSettings){
$(fadeImgID).fadeOut(400,function(){
$(homePageID).fadeIn(400);
$("#skip").fadeOut(400);
$('#loader').hide();
});
};
です奇妙なことは、私が持っていたあります同じosではなく異なるマシン上で同じバージョン番号のブラウザで動作し、失敗します。それは一貫して動作するか、マシン上で失敗します。
私はそれが失敗しました。つまり、7,8 Firefox 3.6.3とchromeです。私はまた、ie6,7,8 firefox 3.6.3,3.4.2,3.1とchromeで成功した。
各テストの前にすべてのテストされたブラウザでキャッシュをクリアしました。それはあなたがキャッシュすることの意味ですか? – cmay
プリローダーを追加しました、チップのおかげで! – cmay
それはうまくいってうれしい。再キャッシュ:うん、それは私が言ったことだ。 –