-2
私はシンプルなフェージングスライドショーを持っていますが、それはしばらくの間素晴らしいですが、約300画像に実行されます。しばらくすると、飛び降り始め、いくつかの画像が欠落してしまいます。これは、あまりにも多くの画像が読み込まれていると想定しています。一度見た画像を「アンロード」する方法はありますか、それとも別のものになる可能性はありますか?Javascriptスライドショー
私はシンプルなフェージングスライドショーを持っていますが、それはしばらくの間素晴らしいですが、約300画像に実行されます。しばらくすると、飛び降り始め、いくつかの画像が欠落してしまいます。これは、あまりにも多くの画像が読み込まれていると想定しています。一度見た画像を「アンロード」する方法はありますか、それとも別のものになる可能性はありますか?Javascriptスライドショー
スライドショーを表示する前にすべての画像を読み込むか、読み込まれていない画像をスキップしてください。
あなたは、たとえば次のようにこれを行うことが:
var images = ['./path1.jpg', './path2.jpg']; // Array with all images
var imageCount, imagesLoaded, c;
imageCount = images.length; // Get images count
imagesLoaded = 0;
for (c = 0; c < imageCount ; c++){ // Loop thorough all images
var image = document.createElement('img'); // Create img tag
image.setAttribute('src', images[c]); // Set src attribute
document.body.appendChild(image); // Add img tag to body
image.onload = function() {
imagesLoaded++; // Add loaded image to loaded images count
console.log('Loaded: ' + imagesLoaded + '/' + imageCount); // debug
if (imagesLoaded == imageCount){ // when all images loaded
// Start your slideshow
}
}
}
何か他のものである可能性が高いです。 – JJJ
私たちが助けてくれるように見せてください – vsync