簡體   English   中英

如何在一個陣列中加載多張要褪色的圖像?

[英]How can I load multiple images in one array to be faded?

我有以下代碼,它們假設要加載幾張圖像然后使其褪色。 但是,要在每次淡入淡出時加載所有圖像,而是每次都加載相同圖像。 有人有什么主意嗎?

http://jsfiddle.net/7kacz43o/8/

var img, i,
    imageCount = [1,2,3,4],
    div = document.getElementById('foo');
console.log(imageCount.length);
for(i = 1; i <= imageCount.length; i++){
    img = new Image();
    img.onload = function() {
        div.appendChild(img);
    };
    img.src = 'http://tdhdemo.com/frames/frame_' + i + '.jpg';
    img.id = "top";
}

您可以在onload重用img ,這意味着當for運行下一個索引時, img將被覆蓋。 onload事件中,僅將最后一個img附加到div(4次,但結果是一個圖像標簽)。

由於您在img本身上附加了onload函數,因此可以使用this來引用圖像:

img.onload = function() {
    div.appendChild(this);
};

另一個建議:為什么不使用數組及其length來驅動for循環,為什么不直接使用count變量呢?

var imageCount = 4;
...
for (i = 1; i <= imageCount; i++) {

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM