Подсчитайте вставленный div в цикле for - PullRequest
1 голос
/ 11 апреля 2019

Я хочу получить общее количество вставленных div, используя цикл for.Я хотел, чтобы он мог создать функцию, которая сообщит системе, что ей нужно создать ползунок для изображений.

Вот мой код для вставки div, когда пользователь выбирает файл изображения:

$(document).ready(function() {
    if (window.File && window.FileList && window.FileReader) {
        $("#imgupload").on("change", function(e) {
            var files = e.target.files,
            filesLength = files.length;
            for (var i = 0; i < filesLength; i++) {
                var f = files[i];
                var fileReader = new FileReader();
                fileReader.onload = (function(e) {
                    var file = e.target;
                    $("<div class=img-holder>" +
                        "<button type='button' class='img-close'><img src='../Image/icon-close.png'></button>"+
                        "<img class='upload-img' src='" + e.target.result + "'/>" +
                    "</div").insertAfter("#img-first");
                        $(".img-close").click(function(){
                        $(this).parent(".img-holder").remove();
                    });
                });
                fileReader.readAsDataURL(f);
            }
        });
    } else {
        alert("Your browser doesn't support to File API")
    }
});

Я пытался сделать это:

$(document).ready(function() {
    if (window.File && window.FileList && window.FileReader) {
        var promises = [];
        var countimg = $("#imgupload").on("change", function(e) {
            var files = e.target.files,
            filesLength = files.length;
            for (var i = 0; i < filesLength; i++) {
                var f = files[i];
                var fileReader = new FileReader();
                fileReader.onload = (function(e) {
                    var file = e.target;
                    $("<div class=img-holder>" +
                        "<button type='button' class='img-close'><img src='../Image/icon-close.png'></button>"+
                        "<img class='upload-img' src='" + e.target.result + "'/>" +
                    "</div").insertAfter("#img-first");
                        $(".img-close").click(function(){
                        $(this).parent(".img-holder").remove();
                    });
                });
                fileReader.readAsDataURL(f);
            }
        });
        promises.push(countimg);
        $.when.apply(null, promises).done(function(){
            alert($('.img-holder').length);
        })
    } else {
        alert("Your browser doesn't support to File API")
    }
});

Но это не работает.Он только предупредил 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...