手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery实现兼容浏览器的图片上传本地预览功能
jquery实现兼容浏览器的图片上传本地预览功能
摘要:一、图片上传实现本地预览由于上传图片功能,现在大多数都需要在本地实现预览,为了能够更好的让用户体验到效果,实现成品的证明,需要兼容好几种浏览...

一、图片上传实现本地预览

由于上传图片功能,现在大多数都需要在本地实现预览,为了能够更好的让用户体验到效果,实现成品的证明,需要兼容好几种浏览器,所有通过各个例子整合了这个例子插件,兼容火狐、谷歌、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,"margin-top": 0,"width":opts.width,"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,"margin-top": 0,"width":opts.width,"height":opts.height});

setTimeout("autoScaling()", 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;

}

});

);

【jquery实现兼容浏览器的图片上传本地预览功能】相关文章:

基于jQuery插件实现环形图标菜单旋转切换特效

IE浏览器下PNG相关功能

jQuery实现的多屏图像图层切换效果实例

jQuery fancybox在ie浏览器下无法显示关闭按钮的解决办法

jQuery实现在列表的首行添加数据

JS+CSS实现仿触屏手机拨号盘界面及功能模拟完整实例

jQuery基于图层模仿五星星评价功能的方法

javascript实现淡蓝色的鼠标拖动选择框实例

浏览器检测JS代码(兼容目前各大主流浏览器)

jQuery实现限制textarea文本框输入字符数量的方法

精品推荐
分类导航