2016-10-18 16 views
-2

私はシンプルなフェージングスライドショーを持っていますが、それはしばらくの間素晴らしいですが、約300画像に実行されます。しばらくすると、飛び降り始め、いくつかの画像が欠落してしまいます。これは、あまりにも多くの画像が読み込まれていると想定しています。一度見た画像を「アンロード」する方法はありますか、それとも別のものになる可能性はありますか?Javascriptスライドショー

+1

何か他のものである可能性が高いです。 – JJJ

+0

私たちが助けてくれるように見せてください – vsync

答えて

-1

スライドショーを表示する前にすべての画像を読み込むか、読み込まれていない画像をスキップしてください。

あなたは、たとえば次のようにこれを行うことが

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 
    } 
    } 
} 
関連する問題