js图片预加载
var img=document.getElementById('img'); function add(isrc){ var imgn=new Image(); imgn.src=isrc; imgn.onload=function(){ img.src=this.src; img.style.width=50+'px'; img.style.height=50+'px'; } } add('1.png'); add('5.png);
最近用到一种方法:
<div style="border:2px dashed red;"> <p> 图片上传前预览:<input type="file" id="xdaTanFileImg" onchange="xmTanUploadImg(this)" accept="image/*"/> <input type="button" value="隐藏图片" onclick="document.getElementById('xmTanImg').style.display = 'none';"/> <input type="button" value="显示图片" onclick="document.getElementById('xmTanImg').style.display = 'block';"/> </p> <img id="xmTanImg"/> <div id="xmTanDiv"></div> </div>
//判断浏览器是否支持FileReader接口 if (typeof FileReader == 'undefined') { document.getElementById("xmTanDiv").InnerHTML = "<h1>当前浏览器不支持FileReader接口</h1>"; //使选择控件不可操作 document.getElementById("xdaTanFileImg").setAttribute("disabled", "disabled"); } //选择图片,马上预览 function xmTanUploadImg(obj) { var file = obj.files[0]; console.log(obj); console.log(file); console.log("file.size = " + file.size); //file.size 单位为byte var reader = new FileReader(); //读取文件过程方法 reader.onloadstart = function (e) { console.log("开始读取...."); } reader.onprogress = function (e) { console.log("正在读取中...."); } reader.onabort = function (e) { console.log("中断读取...."); } reader.onerror = function (e) { console.log("读取异常...."); } reader.onload = function (e) { console.log("成功读取...."); var img = document.getElementById("xmTanImg"); console.log(e.target.result.length) img.src = e.target.result; console.log(e.target.result) //或者 img.src = this.result; //e.target == this } reader.readAsDataURL(file) }