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


Posted in jQuery onApril 29, 2017

效果图:

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

图(1)

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

图(2)

代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery图片上传预览(不经过后端处理)</title>
<script src="http://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script>
<style>
</style>
</head>
<body>
<div>
 <img class="ImgPr"/>
 <input type="file" class="up" />
</div>
<div>
 <img class="ImgPr"/>
 <input type="file" class="up" />
</div>
<script>
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"
   });
  })

</script>
</body>
</html>

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

jQuery 相关文章推荐
jquery点赞功能实现代码 点个赞吧!
May 29 jQuery
jquery.uploadifive插件怎么解决上传限制图片或文件大小问题
May 08 jQuery
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
jQuery实现的简单手风琴效果示例
Aug 29 jQuery
为jquery的ajax请求添加超时timeout时间的操作方法
Sep 04 jQuery
jQuery事件多次绑定与解绑问题实例分析
Feb 19 jQuery
jquery validate 实现动态增加/删除验证规则操作示例
Oct 28 jQuery
jQuery高级编程之js对象、json与ajax用法实例分析
Nov 01 jQuery
jQuery实现鼠标移入显示蒙版效果
Jan 11 jQuery
jQuery实现聊天对话框
Feb 08 jQuery
jQuery实现放大镜案例
Oct 19 jQuery
jQuery实现容器间的元素拖拽功能
Dec 01 jQuery
jQuery设置图片等比例缩小的方法
Apr 29 #jQuery
node.js+jQuery实现用户登录注册AJAX交互
Apr 28 #jQuery
jQuery使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 #jQuery
jquery实现图片上传前本地预览
Apr 28 #jQuery
jQuery实现jQuery-form.js实现异步上传文件
Apr 28 #jQuery
jQuery tip提示插件(实例分享)
Apr 28 #jQuery
jQuery自定义元素右键点击事件(实现案例)
Apr 28 #jQuery
You might like
php设计模式之单例模式使用示例
2014/01/20 PHP
PHP伪造来源HTTP_REFERER的方法实例详解
2015/07/06 PHP
php一个文件搞定微信jssdk配置
2016/12/12 PHP
Laravel框架实现利用中间件进行操作日志记录功能
2018/06/06 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
关于div自适应高度/左右高度自适应一致的js代码
2013/03/22 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
js转义字符介绍
2013/11/05 Javascript
eclipse导入jquery包后报错的解决方法
2014/02/17 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
bootstrap快速制作后台界面
2016/12/05 Javascript
原生JS实现图片轮播效果
2016/12/26 Javascript
jquery表单验证插件validation使用方法详解
2017/01/20 Javascript
Es6 Generator函数详细解析
2018/02/24 Javascript
koa大型web项目中使用路由装饰器的方法示例
2019/04/02 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
封装一下vue中的axios示例代码详解
2020/02/16 Javascript
jQuery列表动态增加和删除的实现方法
2020/11/05 jQuery
python获取beautifulphoto随机某图片代码实例
2013/12/18 Python
centos系统升级python 2.7.3
2014/07/03 Python
用Python代码来解图片迷宫的方法整理
2015/04/02 Python
Python实现的查询mysql数据库并通过邮件发送信息功能
2018/05/17 Python
Python 查找list中的某个元素的所有的下标方法
2018/06/27 Python
DJANGO-URL反向解析REVERSE实例讲解
2019/10/25 Python
基于Python中isfile函数和isdir函数使用详解
2019/11/29 Python
Python爬虫小例子——爬取51job发布的工作职位
2020/07/10 Python
python爬虫使用requests发送post请求示例详解
2020/08/05 Python
CSS3动画之利用requestAnimationFrame触发重新播放功能
2019/09/11 HTML / CSS
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
竞选副班长演讲稿
2014/04/24 职场文书
结婚幸福感言
2015/08/01 职场文书
图文详解matlab原始处理图像几何变换
2021/07/09 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers