[英]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.