本文实例介绍了javascript实现input file上传图片预览效果的详细代码,分享给大家供大家参考,具体内容如下
运行效果图:
具体实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset=\"utf-8\">
<title></title>
<script type=\"text/javascript\" src=\"jquery-1.11.1.min.js\"></script>
<style type=\"text/css\">
.imgbox,.imgbox1
{
float: left;
margin-right: 20px;
margin-top: 20px;
position: relative;
width: 182px;
height: 142px;
border: 1px solid red;
overflow: hidden;
}
.imgbox1{border: 1px solid blue;
}
.imgnum{
left: 0px;
top: 0px;
margin: 0px;
padding: 0px;
}
.imgnum input,.imgnum1 input {
position: absolute;
width: 182px;
height: 142px;
opacity: 0;
}
.imgnum img,.imgnum1 img {
width: 100%;
height: 100%;
}
.close,
.close1 {
color: red;
position: absolute;
left: 170px;
top: 0px;
display: none;
}
</style>
</head>
<body>
<div id=\"img\">
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div><div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div> <div class=\"imgbox\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath\" />
<span class=\"close\">X</span>
<img src=\"btn.png\" class=\"img1\" />
<img src=\"\" class=\"img2\" />
</div>
</div>
<div class=\"imgbox1\">
<div class=\"imgnum\">
<input type=\"file\" class=\"filepath1\" />
<span class=\"close1\">X</span>
<img src=\"btn.png\" class=\"img11\" />
<img src=\"\" class=\"img22\" />
</div>
</div>
</div>
</body>
<script type=\"text/javascript\">
$(function() {
$(\".filepath\").on(\"change\",function() {
alert($(\'.imgbox\').length);
var srcs = getObjectURL(this.files[0]); //获取路径
$(this).nextAll(\".img1\").hide(); //this指的是input
$(this).nextAll(\".img2\").show(); //fireBUg查看第二次换图片不起做用
$(this).nextAll(\'.close\').show(); //this指的是input
$(this).nextAll(\".img2\").attr(\"src\",srcs); //this指的是input
$(this).val(\'\'); //必须制空
$(\".close\").on(\"click\",function() {
$(this).hide(); //this指的是span
$(this).nextAll(\".img2\").hide();
$(this).nextAll(\".img1\").show();
})
})
})
function getObjectURL(file) {
var url = null;
if (window.createObjectURL != undefined) {
url = window.createObjectURL(file)
} else if (window.URL != undefined) {
url = window.URL.createObjectURL(file)
} else if (window.webkitURL != undefined) {
url = window.webkitURL.createObjectURL(file)
}
return url
};
$(function() {
$(\"#img\").on(\"change\",\".filepath1\",function() {
//alert($(\'.imgbox1\').length);
var srcs = getObjectURL(this.files[0]); //获取路径
alert(srcs);
//this指的是input
/* $(this).nextAll(\".img22\").attr(\"src\",srcs); //this指的是input
$(this).nextAll(\".img22\").show(); //fireBUg查看第二次换图片不起做用*/
var htmlImg=\'<div class=\"imgbox1\">\'+
\'<div class=\"imgnum1\">\'+
\'<input type=\"file\" class=\"filepath1\" />\'+
\'<span class=\"close1\">X</span>\'+
\'<img src=\"btn.png\" class=\"img11\" />\'+
\'<img src=\"\'+srcs+\'\" class=\"img22\" />\'+
\'</div>\'+
\'</div>\';
$(this).parent().parent().before(htmlImg);
$(this).val(\'\'); //必须制空
$(this).parent().parent().prev().find(\".img11\").hide(); //this指的是input
$(this).parent().parent().prev().find(\'.close1\').show();
$(\".close1\").on(\"click\",function() {
$(this).hide(); //this指的是span
$(this).nextAll(\".img22\").hide();
$(this).nextAll(\".img11\").show();
if($(\'.imgbox1\').length>1){
$(this).parent().parent().remove();
}
})
})
})
</script>
</html>
希望本文所述对大家学习javascript程序设计有所帮助。
本文地址:https://www.stayed.cn/item/20955
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我