0

我正在尝试为上传的图像制作缩略图。我想为拇指创建不同的类,为此,我正在尝试使用i循环的 de。但这只是假设最终值。为什么?谢谢

for (var i = 0; i < inp.files.length; i++) {

//create the thumbnails
 var reader = new FileReader();
reader.onload = function (e) {
    $('.thumbs').append('<div class="thumb_item" id="c'+ i +'"></div>');
    $('<img />').attr({'src': e.target.result}).addClass('img_thumb').appendTo('.thumb_item:last');

};
reader.readAsDataURL(this.files[i]);
} 
4

2 回答 2

1

为什么你不能应用评论中指出的相同技术?

reader.onload = (function(index)
                 {
                   return function (e)
                   {
                    $('.thumbs').append('<div class="thumb_item" id="c'+ index +'"></div>');
                    $('<img />').attr({'src': e.target.result}).addClass('img_thumb').appendTo('.thumb_item:last');
                   };
                 })(i);
于 2013-10-23T18:33:37.800 回答
0

谢谢大家,我这样解决了:

for (var i = 0; i < inp.files.length; i++) {

        var reader = new FileReader();

    // Closure to capture the file information.
    reader.onload = (function (theFile) {

     var count = i;
        return function (e) {
    $('.thumbs').append('<div class="thumb_item" id="c'+ count +'"></div>');
    $('<img />').attr({'src': e.target.result}).addClass('img_thumb').appendTo('.thumb_item:last');

};
})(i);
reader.readAsDataURL(this.files[i]);
}
于 2013-10-23T19:05:34.997 回答