手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >jquery 图片上传按比例预览插件集合
jquery 图片上传按比例预览插件集合
摘要:js部分是这样的:复制代码代码如下://**********************图片上传预览插件********************...

js部分是这样的:

复制代码 代码如下:

//**********************图片上传预览插件************************

//作者:IDDQD(2009-07-01)

//Email:iddqd5376@163.com

//http://blog.sina.com.cn/iddqd

//版本:1.0

//说明:图片上传预览插件

//上传的时候可以生成固定宽高范围内的等比例缩放图

//参数设置:

//width 存放图片固定大小容器的宽

//height 存放图片固定大小容器的高

//imgDiv 页面DIV的JQuery的id

//imgType 数组后缀名

//**********************图片上传预览插件*************************

(function($) {

jQuery.fn.extend({

uploadPreview: function(opts) {

opts = jQuery.extend({

width: 0,

height: 0,

imgDiv: "#imgDiv",

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

callback: function() { return false; }

}, opts || {});

var _self = this;

var _this = $(this);

var imgDiv = $(opts.imgDiv);

imgDiv.width(opts.width);

imgDiv.height(opts.height);

autoScaling = function() {

if ($.browser.version == "7.0" || $.browser.version == "8.0") imgDiv.get(0).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";

var img_width = imgDiv.width();

var img_height = imgDiv.height();

if (img_width > 0 && img_height > 0) {

var rate = (opts.width / img_width < opts.height / img_height) ? opts.width / img_width : opts.height / img_height;

if (rate <= 1) {

if ($.browser.version == "7.0" || $.browser.version == "8.0") imgDiv.get(0).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "scale";

imgDiv.width(img_width * rate);

imgDiv.height(img_height * rate);

} else {

imgDiv.width(img_width);

imgDiv.height(img_height);

}

var left = (opts.width - imgDiv.width()) * 0.5;

var top = (opts.height - imgDiv.height()) * 0.5;

imgDiv.css({ "margin-left": left, "margin-top": top });

imgDiv.show();

}

}

_this.change(function() {

if (this.value) {

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

alert("图片类型必须是" + opts.imgType.join(",") + "中的一种");

this.value = "";

return false;

}

imgDiv.hide();

if ($.browser.msie) {

if ($.browser.version == "6.0") {

var img = $("<img />");

imgDiv.replaceWith(img);

imgDiv = img;

var image = new Image();

image.src = 'file:///' + this.value;

imgDiv.attr('src', image.src);

autoScaling();

}

else {

imgDiv.css({ filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=image)" });

imgDiv.get(0).filters.item("DXImageTransform.Microsoft.AlphaImageLoader").sizingMethod = "image";

try {

imgDiv.get(0).filters.item('DXImageTransform.Microsoft.AlphaImageLoader').src = this.value;

} catch (e) {

alert("无效的图片文件!");

return;

}

setTimeout("autoScaling()", 100);

}

}

else {

var img = $("<img />");

imgDiv.replaceWith(img);

imgDiv = img;

imgDiv.attr('src', this.files.item(0).getAsDataURL());

imgDiv.css({ "vertical-align": "middle" });

setTimeout("autoScaling()", 100);

}

}

});

}

});

})(jQuery);

页面部分:

复制代码 代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

<title></title>

<meta content="" name="Keywords" />

<meta content="" name="Description" />

<meta content="text/html;charset=utf-8" http-equiv="Content-Type" />

<script type="text/javascript" src="js/jquery.pack.js"></script>

<script type="text/javascript" src="js/uploadPreview/jquery.uploadPreview.js"></script>

<script type="text/javascript">

$(document).ready(function() {

//建议在#imgDiv的父元素上加个overflow:hidden;的css样式

$("input").uploadPreview({ width: 200, height: 200, imgDiv: "#imgDiv", imgType: ["bmp", "gif", "png", "jpg"] });

});

</script>

</head>

<body>

<form id="form1" runat="server">

<input type="file" />

<br />

<div>

<div id="imgDiv">

</div>

</div>

</form>

</body>

</html>

【jquery 图片上传按比例预览插件集合】相关文章:

JQuery中上下文选择器实现方法

jQuery聚合函数实例

js兼容火狐显示上传图片预览效果的方法

图片按比例缩放函数

jQuery实现鼠标经过图片变亮其他变暗效果

jQuery获取上传文件的名称的正则表达式

多附件上传组件演示

Jquery实现动态切换图片的方法

jQuery异步上传文件插件ajaxFileUpload详细介绍

JQuery中节点遍历方法实例

精品推荐
分类导航