jquery实现兼容浏览器的图片上传本地预览功能
发布时间:2020-12-14 22:42:13 所属栏目:资源 来源:网络整理
导读:一、图片上传实现本地预览 由于上传图片功能,现在大多数都需要在本地实现预览,为了能够更好的让用户体验到效果,实现成品的证明,需要兼容好几种浏览器,所有通过各个例子整合了这个例子插件,兼容火狐、谷歌、ie8,其他的没有进行测试过 复制代码 代码如
一、图片上传实现本地预览 由于上传图片功能,现在大多数都需要在本地实现预览,为了能够更好的让用户体验到效果,实现成品的证明,需要兼容好几种浏览器,所有通过各个例子整合了这个例子插件,兼容火狐、谷歌、ie8,其他的没有进行测试过 复制代码 代码如下: (function($){ jQuery.fn.extend({ uploadPreview: function(opts){ opts = jQuery.extend({ width: 0, height: 0, imgPreview: null, imgType: ["gif","jpeg","jpg","bmp","png"], callback: function(){ return false; } },opts || {}); var _self = this; var _this = $(this); var imgPreview = $(opts.imgPreview); //设置样式 autoScaling = function(){ imgPreview.css({"margin-left": 0,"margin-top": 0,"width":opts.width,"height":opts.height}); imgPreview.show(); } //file按钮出发事件 _this.change(function(){ if (this.value) { if (!RegExp(".(" + opts.imgType.join("|") + ")$","i").test(this.value.toLowerCase())) { alert("图片类型必须是" + opts.imgType.join(",") + "中的一种"); this.value = ""; return false; } if ($.browser.msie) {//判断ie var path = $(this).val(); if (/"wW"/.test(path)) { path = path.slice(1,-1); } imgPreview.attr("src",path); imgPreview.css({"margin-left": 0,"height":opts.height}); setTimeout("autoScaling()",100); } else { if ($.browser.version < 7) { imgPreview.attr('src',this.files.item(0).getAsDataURL()); } else { oFReader = new FileReader(),rFilter = /^(?:image/bmp|image/cis-cod|image/gif|image/ief|image/jpeg|image/jpeg|image/jpeg|image/pipeg|image/png|image/svg+xml|image/tiff|image/x-cmu-raster|image/x-cmx|image/x-icon|image/x-portable-anymap|image/x-portable-bitmap|image/x-portable-graymap|image/x-portable-pixmap|image/x-rgb|image/x-xbitmap|image/x-xpixmap|image/x-xwindowdump)$/i; oFReader.onload = function(oFREvent){ imgPreview.attr('src',oFREvent.target.result); }; var oFile = this.files[0]; oFReader.readAsDataURL(oFile); } imgPreview.css({"margin-left": 0,100); } } opts.callback(); }); } }); })(jQuery); 二、调用方法 复制代码 代码如下: jQuery(function(){ jQuery("#idFile1").uploadPreview({ width: 100, height: 100, imgPreview: "#idImg1", imgType: ["bmp","gif","png","jpg"], callback: function() { ip1(); return false; } }); ); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |