2012-12-26 58 views
0

jsfiddle.net link to code問題是當你選擇多個圖像文件時,它會將所有圖像加載到瀏覽器,繪製所有div,但只顯示一個圖像。它應該給每個div自己的形象。FileReader圖片上傳

這似乎是麻煩製造者代碼部分:

 $('#import').change(function(event){ 
     namelist = new Array; 
     var files = event.target.files; 
     for(i=0;i<event.target.files.length; i++){ 
       pictures = files[i]; 
       image = new Image(); 
       image.id = i; 
       image.file = pictures; 
       var reader = new FileReader(); 
       reader.onload = function(evt){ 
        image.src = evt.target.result; 
       } 
       namelist.push({sourceimage: image, id:i}); 
       reader.readAsDataURL(pictures); 
      } 
      drawDivs(); 
     }); 
+0

問題是與這行代碼 reader.onload =函數(EVT){ 圖像。 src = evt.target.result; } 它將在實際閱讀中執行,直到該圖像將沒有數據和圖像對象將指向最後一個圖像 – Kasma

+0

kk,關閉固定它,不知道我怎麼做錯了貝福,感謝評論。讓我嘗試一下:) –

回答

0
reader.onload = (function(image){ 
         return function(evt){ 
          image.src = evt.target.result; 
         }; 
        })(image); 

截流固定它