如何实现上传多个图片并依次展示_jQuery实现多张图片上传预览(不经过后端处理)...

这篇博客介绍了如何使用jQuery实现多张图片上传并实时预览,无需经过后端处理。通过创建一个jQuery插件,可以检查图片类型并显示预览图像。详细代码和示例说明了该功能的实现过程。
摘要由CSDN通过智能技术生成

效果图:

22a4c569992d4a2747ccb010e2fe7ec0.png

图(1)

9e8e308e946f8a096fa47d3f88391c1f.png

图(2)

代码如下:

jQuery图片上传预览(不经过后端处理)

jQuery.fn.extend({

uploadPreview: function(opts) {

var _self = this,

_this = $(this);

opts = jQuery.extend({

Img: "ImgPr",

Width: 100,

Height: 100,

ImgType: ["gif", "jpeg", "jpg", "bmp", "png"],

Callback: function() {}

}, opts || {});

_self.getObjectURL = function(file) {

var url = null;

if (window.createObjectURL != undefined) {

url = window.createObjectURL(file)

} else if (window.URL != undefined) {

url = window.URL.createObjectURL(file)

} else if (window.webkitURL != undefined) {

url = window.webkitURL.createObjectURL(file)

}

return url

};

_this.change(function() {

if (this.value) {

if (!RegExp("\.(" + opts.ImgType.join("|") + ")$", "i").test(this.value.toLowerCase())) {

alert("选择文件错误,图片类型必须是" + opts.ImgType.join(",") + "中的一种");

this.value = "";

return false

}

//高版本Jquey使用 if ($.support.leadingWhitespace)

if ($.support.leadingWhitespace) { //低版本jquery中使用$.browser.msie

console.log(_self.getObjectURL(this.files[0]));

try {

_this.parent('div').find("." + opts.Img).attr('src', _self.getObjectURL(this.files[0]));

} catch (e) {

var src = "";

var obj = _this.parent('div').find("." + opts.Img);

var div = obj.parent("div")[0];

_self.select();

if (top != self) {

window.parent.document.body.focus()

} else {

_self.blur()

}

src = document.selection.createRange().text;

document.selection.empty();

obj.hide();

obj.parent("div").css({

'filter': 'progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale)',

'width': opts.Width + 'px',

'height': opts.Height + 'px'

});

div.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = src

}

} else {

_this.parent('div').find("." + opts.Img).attr('src', _self.getObjectURL(this.files[0]))

}

opts.Callback()

}

})

}

});

$(".up").click(function(){

$(this).uploadPreview({

Img: "ImgPr"

});

})

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值