Переменная не подходит для чтения файлов

0

Я пытаюсь сделать эскизы для загруженных изображений. Я хочу создать классы diferents для больших пальцев, для этого я пытаюсь использовать de i цикла. Но это предполагает только окончательное значение. Зачем? благодаря

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]);
} 
Теги:
file
loops

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);
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]);
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню