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插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 jQuery
jQuery自定义图片上传插件实例代码
Apr 04 jQuery
jQuery插件开发发送短信倒计时功能代码
May 09 jQuery
jQuery实现切换隐藏与显示同时切换图标功能
Oct 29 jQuery
jquery写出PC端轮播图实例
Jan 26 jQuery
jQuery阻止事件冒泡实例分析
Jul 03 jQuery
jQuery模拟12306城市选择框功能简单实现方法示例
Aug 13 jQuery
jQuery zTree树插件的使用教程
Aug 16 jQuery
jquery分页优化操作实例分析
Aug 23 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
jQuery实现B2B网站后台管理系统侧导航
Jul 08 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水印
2007/03/16 PHP
为IP查询添加GOOGLE地图功能的代码
2010/08/08 PHP
Win下如何安装PHP的APC拓展
2013/08/07 PHP
推荐十款免费 WordPress 插件
2015/03/24 PHP
Symfony生成二维码的方法
2016/02/04 PHP
PHP实现一个简单url路由功能实例
2016/11/05 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
微信小程序人脸识别功能代码实例
2019/05/07 Javascript
[01:24]DOTA2上海特锦赛OG战队抵达 专车接机入驻总统套房
2016/02/23 DOTA
Python文件夹与文件的操作实现代码
2014/07/13 Python
在Python中使用mongoengine操作MongoDB教程
2015/04/24 Python
Python和C/C++交互的几种方法总结
2017/05/11 Python
python构建指数平滑预测模型示例
2019/11/21 Python
pytorch程序异常后删除占用的显存操作
2020/01/13 Python
python opencv 实现对图像边缘扩充
2020/01/19 Python
python爬取王者荣耀全皮肤的简单实现代码
2020/01/31 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
浅析python中的del用法
2020/09/02 Python
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
HTML5自定义元素播放焦点图动画的实现
2019/09/25 HTML / CSS
web字体加载方案优化小结
2019/11/29 HTML / CSS
IdealFit官方网站:女性蛋白质、补充剂和运动服装
2019/03/24 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
入党积极分子评语
2014/05/04 职场文书
小学语文业务学习材料
2014/06/02 职场文书
2015年幼儿园新年寄语
2014/12/08 职场文书
初中地理教学反思
2016/02/19 职场文书
简短的36句中秋节祝福信息语句
2019/09/09 职场文书
SQL Server作业失败:无法确定所有者是否有服务器访问权限的解决方法
2021/06/30 SQL Server
MySQL系列之十五 MySQL常用配置和性能压力测试
2021/07/02 MySQL
springboot集成springCloud中gateway时启动报错的解决
2021/07/16 Java/Android
mongoDB数据库索引快速入门指南
2022/03/23 MongoDB
AJAX引擎原理以及XmlHttpRequest对象的axios、fetch区别详解
2022/04/09 Javascript