html部分
另外补充一点input哪里accept="image/*"会导致打开缓慢
accept=”image/*”属性会对每一个文件都遍历一次所有的”image/*”文件类型,当文件较多时,
文件的检验时间较长,
这可能是Webkit的底层实现的bug
<input type="file" style="display: none" name="file0[]" id="file0" multiple="multiple" accept="image/*" />
<ul class="body-img-ul">
<li class="img-up img-up01"></li>
</ul>
js部分
//上传图片事件代理
$(document).on("click", ".img-up01", function() {
$("#file0").click();
})
//删除图片
$(document).on("click",".close-img",function(){
$(this).parent().remove();
})
//图片即时预览
$("#file0").change(function() {
$(".register-error").removeClass("re-er")
var urlimg = this.files.length;//遍历上传的图片
for(var i=0;i<urlimg;i++){
var objUrl = getObjectURL(this.files[i]);
console.log("objUrl = " + objUrl);
var ullength = $(".body-img-ul li").length;
if(ullength>5){
alert("上传图片达最大限制")
return false;
}
if(ullength>2){
$(".body-img-ul li:eq(3)").css({
"marginBottom": 26
})
}
if(objUrl&&ullength<6) {
$(".body-img-ul").append('<li class="img-up"><img src="'+objUrl+'" alt=""><span class="close-img"></span></li>')
}
}
});
//上传图片保存路径函数及兼容性处理
function getObjectURL(file) {
var url = null;
if(window.createObjectURL != undefined) { // basic
url = window.createObjectURL(file);
} else if(window.URL != undefined) { // mozilla(firefox)
url = window.URL.createObjectURL(file);
} else if(window.webkitURL != undefined) { // webkit or chrome
url = window.webkitURL.createObjectURL(file);
}
return url;
}