基于JQuery实现图片上传预览与删除操作
来源: 阅读:3222 次 日期:2016-06-23 15:50:13
温馨提示: 小编为您整理了“基于JQuery实现图片上传预览与删除操作”,方便广大网友查阅!

这篇文章主要为大家详细介绍了基于JQuery实现图片上传预览与删除操作的相关代码,感兴趣的小伙伴们可以参考一下

1. preview.2.0.html

<!DOCTYPE html>

<html>

<head>

  <title>上传图片预览</title>

  <meta http-equiv="content-type" content="text/html; charset=UTF-8">

  <link rel="stylesheet" type="text/css" href="srdz.preview.2.0.css">

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

  <script type="text/javascript" src="srdz.preview.2.0.js"></script>

<script type="text/javascript">

  $(function(){

    var p = new ImgPreview();

    p.preview({previewid:"imgupload1"}); 

    p.preview({previewid:"imgupload2"}); 

  });

</script>

</head>

<body>

  <div align="center" style="width: 50%;padding: 50px 300px;" id="imgupload1"></div>

  <div align="center" style="width: 50%;padding: 50px 300px;" id="imgupload2"></div>

</body>

</html>

2. srdz.preview.2.0.css

.btn-pic {

  display: block;

  position: relative;

  width: 120px;

  height: 40px;

  overflow: hidden;

  cursor: pointer;

  text-align: center;

}

.btn-pic-bg {

  border: 1px solid #ff9000;

  background: none repeat scroll 0 0 #ff9000;

  color: #ffffff;

  text-decoration: none;

}

.btn-pic span {

  display: block;

  line-height: 39px;

}

.ipt-bg {

  display: block;

  position: absolute;

  top: 0;

  left: 0;

  width: 120px;

  height: 40px;

  font-size: 100px;

  opacity: 0;

  filter: alpha(opacity=0);

}

.spanc{

  color: red;

}

.drt {

  float: right;

  display: none;

}

.dft {

  float: left;

}

3. srdz.preview.2.0.js

function ImgPreview(){}

ImgPreview.prototype.preview=function(options){

  var time = new Date().getTime();

  var fileid = "file" + time;

  var xdelid = "xdel" + time;

  var delid = "del" + time;

  var viewid = "view" + time;

  var htm = "" +

  "<div>" +

    "<div class='dft'>" +

      "<a class='btn-pic btn-pic-bg' href='javascript:void(0);'>" +

        "<span>上传图片</span>" +

        "<input id='" + fileid + "' type='file' name='file' class='ipt-bg' />" +

      "</a>" +

    "</div>" +

    "<div id='" + xdelid + "' class='drt'>" +

      "<a class='btn-pic btn-pic-bg' href='javascript:void(0)'>" +

        "<span>删除图片</span>" +

        "<input type='button' id='" + delid + "' class='ipt-bg'/>" +

      "</a>" +

    "</div>" +

  "</div>" +

  "<div id='" + viewid + "'></div>";

  $("#" + options.previewid).html(htm);

  $("#" + fileid).bind("click",function(){

    var $this =$(this);

    var browser={

      isIE:function(ver){

        var b = document.createElement('b');

        b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->';

        return b.getElementsByTagName('i').length === 1;

      }

    };

    $this.change(function(){

      var regex=/(.*)\.(jpg|jpeg|png)$/;

      var val = $this.val();

      if(!regex.test(val)){

        $("#" + viewid).html("<span class='spanc'>请选择正确的图片(jpg、jpeg、png)!</span>");

        return;

      }

      if(browser.isIE(6)){

        HanderOther($this);

      }else if(browser.isIE(7) || browser.isIE(8) || browser.isIE(9)){

        HanderIE789($this);

      }else if(window.FileReader){

        HanderFileReader($this);

      }else{

        $("#" + viewid).html("<span class='spanc'>该浏览器不支持预览图片!</span>");

      }

      function HanderFileReader($this){

        var oFReader = new window.FileReader(),

        rFilter = /^(?:image\/bmp|image\/cis\-cod|image\/gif|image\/ief|image\/jpeg|image\/jpeg|image\/jpeg|image\/pipeg|image\/png|image\/svg\+xml|image\/tiff|image\/x\-cmu\-raster|image\/x\-cmx|image\/x\-icon|image\/x\-portable\-anymap|image\/x\-portable\-bitmap|image\/x\-portable\-graymap|image\/x\-portable\-pixmap|image\/x\-rgb|image\/x\-xbitmap|image\/x\-xpixmap|image\/x\-xwindowdump)$/i;

        oFReader.onload = function (oFREvent){

          $("#" + viewid).html("<img src='"+oFREvent.target.result+"' style='width:100%;height:100%;'/>");

          $("#" + xdelid).show();

        };

        var aFiles = $this.get(0).files;

        if (aFiles.length == 0) { return; }

        if (!rFilter.test(aFiles[0].type)) { 

          $("#" + viewid).html("<span class='spanc'>请选择正确的图片(jpg、jpeg、png)!</span>"); 

          return; 

        }

        oFReader.readAsDataURL(aFiles[0]);

      }

      function HanderIE789($this){

        if(options.width != null && parseInt(options.width) > 0){

          $("#" + viewid).css("width",options.width + "px");

        }else{

          $("#" + viewid).css("width","378px");

        }

        if(options.height != null && parseInt(options.height) > 0){

          $("#" + viewid).css("height",options.height + "px");

        }else{

          $("#" + viewid).css("height","358px");

        }

        $("#" + viewid).css("filter","progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src='"+GetImgSrc($this)+"')");

        $("#" + xdelid).show();

      }

      function HanderOther($this){

        $("#" + viewid).html("<img src='"+$this.val()+"' style='width:100%;height:100%;'/>");

        $("#" + xdelid).show();

      }

      function GetImgSrc($this){

        $this.select();

        $this.blur();

        var imgSrc =document.selection.createRange().text;

        document.selection.empty();

        return imgSrc;

      }

    });

  });//绑定按钮事件

  $("#" + delid).bind("click",function(){

    var browser={

        isIE:function(ver){

          var b = document.createElement('b');

          b.innerHTML = '<!--[if IE ' + ver + ']><i></i><![endif]-->';

          return b.getElementsByTagName('i').length === 1;

        }

      };

    if(browser.isIE(7) || browser.isIE(8) || browser.isIE(9)){

      $("#" + fileid).val('');

      $("#" + viewid).css("filter","");

      $("#" + viewid).css("width","");

      $("#" + viewid).css("height","");

      $("#" + xdelid).hide();

    }else{

      $("#" + fileid).val('');

      $("#" + viewid).empty();

      $("#" + xdelid).hide();

    }

  });

};

以上就是本文的全部内容,希望对大家学习jquery程序设计有所帮助。

更多信息请查看网络编程
由于各方面情况的不断调整与变化, 提供的所有考试信息和咨询回复仅供参考,敬请考生以权威部门公布的正式信息和咨询为准!
关于我们 | 联系我们 | 人才招聘 | 网站声明 | 网站帮助 | 非正式的简要咨询 | 简要咨询须知 | 加入群交流 | 手机站点 | 投诉建议
工业和信息化部备案号:滇ICP备2023014141号-1 云南省教育厅备案号:云教ICP备0901021 滇公网安备53010202001879号 人力资源服务许可证:(云)人服证字(2023)第0102001523号
云南网警备案专用图标
联系电话:0871-65317125(9:00—18:00) 获取招聘考试信息及咨询关注公众号:hfpxwx
咨询QQ:526150442(9:00—18:00)版权所有:
云南网警报警专用图标
Baidu
map