目前,我在一個頁面上加載了3或4個圖庫。這是一個攝影師網站,所以每個畫廊都有大約40張圖片。我最初預加載的圖像,我只是加載前兩個圖像,以便頁面快速加載,然後在後臺使用JS循環通過一個循環,並加載其餘的。它運作良好,除了它不遵守命令,命令很重要。我已經看到了一些隱藏圖像的示例,直到它們加載完畢,但由於頁面中加載了大約120個大圖像,導致頁面加載緩慢。有沒有一種方法可以使用我的代碼,並在加載後對圖像進行排序?或者,我應該通過一個數組加載它們,它會不會忽略加載順序?這裏是我的jsfiddle:http://jsfiddle.net/drrobotnik/YKPEu/在js中加載圖像以便非連續加載循環加載
這件作品JS我在看大多是這一部分:
var stack = [];
for (var i = 3; i <= 59; i++) {
var img = new Image(782,521);
img.src = 'http://anikalondon.com/Images/weddings/weddings-3-' + i + '.jpg';
$(img).bind('load', function() {
stack.push(this);
var len = stack.length+2;
$(".numbers").text(($(".enggal img:visible").index()+1)+"/"+len);
if(i>=58){$(".numbers").css("visibility", "visible");}
});
}
再次,在這個例子中它加載圖像按順序(可能是取其那些負載第一,不知道)。
我覺得你在這裏的東西,但我仍然沒有得到它的工作。看看我的jsfiddle,我有一個與JS代碼的其餘部分工作。 http://jsfiddle.net/drrobotnik/YKPEu/ – drrobotnik
我想我明白了:http://jsfiddle.net/YKPEu/17/與我上面發佈的內容大不相同 - 無法使用img作爲關鍵。它不尊重獨特性。不知道爲什麼,也許是因爲它不受限制?無論如何,小提琴是另一種方法。 –
只有字符串可以用作JavaScript對象中的鍵。所以stack [img]實際上就像stack [img.toString()] => stack [「[Object HTMLImageElement]」]。 –