2015-02-06 27 views
2

我在鼠標上使用的setInterval變革的形象,我想,經過重新設置的時間間隔來電或下一間隔來加載圖像只有當以後。 以下是我的代碼:如何使用setInterval直到圖片未加載?

jQuery('.product').on('mouseover',function(){ 
timer = setInterval(function() { 
    if (counter !== 0) { 
    time = 2000; 
    } 
    if (counter === product_images.length) { 
    counter = 0; 
    } 
    selector.attr('src', 'localhost/product/' + product_images[counter]); 

    var loadImage = new Image(); 
    loadImage.src = selector.attr('src'); 
    loadImage.onload = function(){ 
    selector.show(); 
    }; 
    counter = counter + 1; 
},1000); 
}); 

我想,之前什麼使用設置的間隔時間來下一個圖像下一個圖像不應該加載,直到上一個沒有加載...在那個時候我想顯示加載圖像

我怎麼能用jQuery承諾或通過其他解決方案。 請幫我...

一件事我不想叫下一個區間,直到第一圖像不加載

+1

將它包裝到函數中並在'onload'事件中遞歸地調用函數 – smnbbrv 2015-02-06 06:50:48

+0

@simon第一個圖像已經在我的瀏覽器中了。其他圖像im從js中設置..它如何加載下一個圖像,直到上一次加載。 。 – SINGH 2015-02-06 06:52:27

+0

在設置'.src'屬性之前,您應該首先附加'.onload'。 – 2015-02-06 06:55:16

回答

0

可以使用的document.ready

調用中的document.ready功能所以一旦在頁面完全加載你的函數會被

0

第一負載時,頁面加載在頭部圖像,那麼這些圖像會在瀏覽器緩存中,然後它工作正常, 就試試這個:

 if (document.images) { 
      img1 = new Image(); 
      img1.src = "imgpath/image1.png"; 
      img2 = new Image(); 
      img2.src = "imgpath/image2.png""; 
     }