2010-05-21 89 views
1

我想預加載圖像,但確保它們在加載之前加載。我怎樣才能做到這一點?如何在繼續(html/javascript)之前將圖像預加載至實際加載圖像的位置?

以下不起作用,因爲它僅發送加載請求,但不會等到圖像加載完成。所以有可能在不久之後請求時不加載圖像。

jQuery.preloadImages = function() { 
     for (var i = 0; i < arguments.length; i++) { 
      jQuery("<img>").attr("src", arguments[i]); 
     } 
    }  
    $.preloadImages("img1.jpg","img2.jpg"); 

回答

0
jQuery.preloadImages = function() { 
    var image = new Image(); 

    for (var i = 0; i < arguments.length; i++) { 
     image.src = arguments[i+1]; 
    } 
} 

我沒有測試過。

+0

,做同樣的事情 - 它不會立即加載圖像。 你可以使用image.onload = function(){...}在準備好的時候使用圖片,但是我需要一個阻止的方法。 – 2010-05-21 17:35:52