【发布时间】:2017-03-13 18:47:58
【问题描述】:
我正在使用这个简单的脚本来选择和预览多个图像 我想在所有图像预览完成后发出警报 但是在图像附加到 html 元素之前执行的警报 谁能知道如何解决这个问题?
这是一个用于测试的sn-p
$(document).ready(function() {
if (window.File && window.FileList && window.FileReader) {
$("#files").change(function(event) {
var files = this.files;
var i = 0,
len = files.length;
(function readFile(n) {
var reader = new FileReader();
var f = files[n];
reader.onload = function(e) {
$("<span class=\"pip\">" +
"<img class=\"imageThumb\" src=\"" + e.target.result + "\" title=\"" + f.name + "\"/><br/>" +
"name: "+ f.name +"<br>size: " + f.size
+ "<span class=\"remove\">Remove image</span>" +
"</span>").appendTo("#img");
$(".remove").click(function(){
$(this).parent(".pip").remove();
});
if (n < len -1)
readFile(++n)
else
alert("all image displayed");
};
reader.readAsDataURL(f); // `f` : current `File` object
}(i));
});
} else {
alert("Your browser doesn't support to File API")
}
});
input[type="file"] {
display: block;
}
.imageThumb {
max-height: 75px;
border: 2px solid;
padding: 1px;
cursor: pointer;
}
.pip {
display: inline-block;
margin: 10px 10px 0 0;
}
.remove {
display: block;
background: #444;
border: 1px solid black;
color: white;
text-align: center;
cursor: pointer;
}
.remove:hover {
background: white;
color: black;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
<p id="msg"></p>
<pre id="debug"></pre>
<div id="img"></div>
<div class="field" align="left">
<h3>Upload your images</h3>
<input type="file" id="files" name="files[]" multiple />
<div id="img"></div>
</div>
【问题讨论】:
标签: javascript jquery html append filereader