【技巧】input选择图片预览

来源:互联网 发布:win10网络图标不能启用 编辑:程序博客网 时间:2024/05/16 12:00

预览效果见下图:

这里写图片描述

HTML代码如下:

<html><head><meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/><meta charset="utf-8" /></head><body><div class="content" style="margin-top:100px;height:200px;">    <div id="div4bm" style="float:left;">    <!--input[button] 触发 file click事件-->    <input type="button" value="选择文件" id="mybutton" class="mybtn"  onclick="Id('file').click();" />    <!--file 隐藏起来  触发onchange事件-->    <input type="file" name="file" accept="image/png,image/jpg,image/jpeg"  id="file" onchange="changeToop();" style="display:none;" />    </div>      <!--图片展示区域-->    <div style="float:left;">        <!--设置默认图片-->        <img id="myimg" src="http://sandbox.runjs.cn/uploads/rs/72/huvtowwn/zanwu.png"/>    </div></body></html>

CSS代码如下:

.mybtn{    width:100px;    height:30px;    display:inline-block;    background-color:rgb(91,183,91);    border:1px solid rgb(91,183,91);    border-radius:3px;    color:white;    font-size:14px;    font-family:微软雅黑;    cursor:pointer;    text-align:center;    vertical-align: center;    box-shadow:0px 0px 1px 1px rgb(91,160,91);    }.mybtn:hover{    background-color:rgb(91,160,91);    border-color:rgb(91,160,91);    color:white;    text-decoration:none;    }   .myinp{    width:100px;    height:30px;    display:inline-block;    border:1px solid rgb(209,232,250);    border-radius:2px;    }#div4bm{    padding-top:15px;    margin-right:15px;    }    #mybutton{    margin-left:100px;    }#myimg{    width:164px;    height:164px;    }

JS代码如下:

//定义id选择器function Id(id){return document.getElementById(id);}function changeToop(){    var file = Id("file");    if(file.value==''){        //设置默认图片    Id("myimg").src='http://sandbox.runjs.cn/uploads/rs/72/huvtowwn/zanwu.png';    }else{        preImg("file","myimg");    }}//获取input[file]图片的url Importantfunction getFileUrl(fileId) {     var url;     var file = Id(fileId);    var agent = navigator.userAgent;    if (agent.indexOf("MSIE")>=1) {    url = file.value;     } else if(agent.indexOf("Firefox")>0) {     url = window.URL.createObjectURL(file.files.item(0));     } else if(agent.indexOf("Chrome")>0) {    url = window.URL.createObjectURL(file.files.item(0));     }     return url; } //读取图片后预览function preImg(fileId,imgId) { var imgPre =Id(imgId);imgPre.src = getFileUrl(fileId); } 

如果喜欢作者的话可以评论下,谢谢!

0 0