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

 更新时间:2017年04月29日 10:44:36   作者:15868870855  
本篇文章主要介绍了jQuery实现多张图片上传预览(不经过后端处理)的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧

效果图:

图(1)

图(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实现仿百度自动补全特效

    这里给大家分享的效果是像百度的搜索框一样,当用户在文本框输入前几个字母或是汉字的时候,该控件就能从存放数据的文或是数据库里将所有以这些字母开头的数据提示给用户,供用户选择,提供方便,增加用户体验。
    2015-07-07
  • 基于jQuery的history历史记录插件

    基于jQuery的history历史记录插件

    history历史记录插件可以帮助您回到您的JavaScript支持应用程序/前进按钮和书签。你可以存储到应用程序状态的网址散列和恢复它的状态。
    2010-12-12
  • 基于jquery的不规则矩形的排列实现代码

    基于jquery的不规则矩形的排列实现代码

    现在很多网站都用不规则矩形来罗列图片,ipad上面很多应该用也都是用的不规则的矩形,但是还要让他们各自都靠近排列,不能有空隙
    2012-04-04
  • jquery实现转盘抽奖功能

    jquery实现转盘抽奖功能

    本文主要介绍了用的jqueryRotate插件实现转盘抽奖功能的方法,具有一定的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 基于jQuery实现表格的排序

    基于jQuery实现表格的排序

    本篇文章介绍了jQuery实现表格的排序方法与主要思路,相信会对大家有所帮助,下面就跟小编一起来看看吧
    2016-12-12
  • jquery实现鼠标滑过显示二级下拉菜单效果

    jquery实现鼠标滑过显示二级下拉菜单效果

    这篇文章主要介绍了jquery实现鼠标滑过显示二级下拉菜单效果,通过jquery操作鼠标事件及页面样式动态变换实现该功能,非常具有实用价值,需要的朋友可以参考下
    2015-08-08
  • jQuery实现购物车表单自动结算效果实例

    jQuery实现购物车表单自动结算效果实例

    这篇文章主要介绍了jQuery实现购物车表单自动结算效果,涉及jquery动态获取页面元素及实时改变页面元素值的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • jQuery+ajax读取并解析XML文件的方法

    jQuery+ajax读取并解析XML文件的方法

    这篇文章主要介绍了jQuery+ajax读取并解析XML文件的方法,涉及jQuery的ajax方法调用xml文件及针对xml数据的遍历与节点操作相关技巧,需要的朋友可以参考下
    2016-09-09
  • jQuery遍历页面所有CheckBox查看是否被选中的方法

    jQuery遍历页面所有CheckBox查看是否被选中的方法

    这篇文章主要介绍了jQuery遍历页面所有CheckBox查看是否被选中的方法,涉及jQuery链式操作及针对CheckBox的操作技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04
  • jQuery实现菜单栏导航效果

    jQuery实现菜单栏导航效果

    这篇文章主要为大家详细介绍了jQuery实现简单菜单栏导航效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08

最新评论