js实现单张图片(或者多张)的预览功能

 
这个是预览单张图片的,如果要预览多张图片,改下面红色标记的地方就好了
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>js图片预览功能</title>
<script language=javascript>
function previewFile() {//名字相应的也要改,在input的onchange="previewFile()"也要记得对应好
 var preview = document.querySelector('img');//这个是在下面input框里面加入id="xx",要写入xx的,要写成这样(‘#xx’)
 var file  = document.querySelector('input[type=file]').files[0];//这个下标也相对应的来改,第一个的图片是下标是0,那么第二个图片的话,下标就要是1,以此类推
 var reader = new FileReader();
 reader.onloadend = function () {
  preview.src = reader.result;
 }
 if (file) {
  reader.readAsDataURL(file);
 } else {
  preview.src = "";
 }
}
</script>
</head>
<body>
<input type="file" onchange="previewFile()"><br>
<img src="" height="200" width="300" alt="Image preview... id="xx"/>
</body>
</html>
 
再或者用另一种方式(推荐使用)

<script language=javascript>
function showImg(fileid,target){//给2个参数,其他位置的参数名一致,值就进去了
var preview = document.querySelector('#'+target);//获取img元素,显示图片位置,根据el表达式('#'+target)
var file = document.querySelector('#'+fileid).files[0];//根据id拿到文件选择框里面的文件,
var reader = new FileReader();//创建FileReader接口(把文件放到图片预览框里面)
reader.onloadend = function () {
preview.src = reader.result;
}
if (file) {
reader.readAsDataURL(file);
} else {
preview.src = "";
}
}
</script>

 然后下面对应的input框

 

 
posted @ 2016-12-14 15:17  李科纪  阅读(7429)  评论(1编辑  收藏  举报