首页 > 编程 > JavaScript > 正文

JS实现可视化文件上传

2019-11-19 12:59:13
字体:
来源:转载
供稿:网友

本文实例为大家分享了JS可视化文件上传的具体代码,供大家参考,具体内容如下

测试-Style

<style type="text/css">    .imgbox,.imgbox1    {      position: relative;      width: 200px;      height: 180px;      border: 1px solid #ddd;      overflow: hidden;    }     .imgnum{      left: 0px;      top: 0px;      margin: 0px;      padding: 0px;    }    .imgnum input,.imgnum1 input {      position: absolute;      width: 200px;      height: 180px;      opacity: 0;    }    .imgnum img,.imgnum1 img {      width: 100%;      height: 100%;    }    .close,    .close1 {      color: red;      position: absolute;      right: 10px;      top: 0;      display: none;    }</style>

测试--HTML

<div id="img">  <div class="imgbox"> <div class="imgnum">  <input type="file" class="filepath" />  <span class="close">X</span>  <img src="btn.png" class="img1" />  <img src="" class="img2" /> </div> </div> </div>

JS: 需要引入jquery

<script type="text/javascript">  $(function() {    $(".filepath").on("change",function() {      var srcs = getObjectURL(this.files[0]);  //获取路径      $(this).nextAll(".img1").hide();     //this指的是input      $(this).nextAll(".img2").show();     //fireBUg查看第二次换图片不起做用      $(this).nextAll('.close').show();     //this指的是input      $(this).nextAll(".img2").attr("src",srcs);  //this指的是input      $(this).val('');               //必须制空      $(".close").on("click",function() {        $(this).hide();             //this指的是span        $(this).nextAll(".img2").hide();        $(this).nextAll(".img1").show();      })    })  })   //关键代码:getObjectURL return url  function getObjectURL(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  }; //modify img  $(function() {    $("#img").on("change",".filepath1",function() {      //alert($('.imgbox1').length);      var srcs = getObjectURL(this.files[0]);  //获取路径      alert(srcs);      //this指的是input      /* $(this).nextAll(".img22").attr("src",srcs);  //this指的是input       $(this).nextAll(".img22").show(); //fireBUg查看第二次换图片不起做用*/      var htmlImg='<div class="imgbox1">'+          '<div class="imgnum1">'+          '<input type="file" class="filepath1" />'+          '<span class="close1">X</span>'+          '<img src="btn.png" class="img11" />'+          '<img src="'+srcs+'" class="img22" />'+          '</div>'+          '</div>';       $(this).parent().parent().before(htmlImg);      $(this).val('');            //必须制空      $(this).parent().parent().prev().find(".img11").hide();  //this指的是input      $(this).parent().parent().prev().find('.close1').show();       $(".close1").on("click",function() {        $(this).hide();          //this指的是span        $(this).nextAll(".img22").hide();        $(this).nextAll(".img11").show();        if($('.imgbox1').length>1){          $(this).parent().parent().remove();        }       })    })  }) </script>

注:低版本IE不支持可视化

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持武林网。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表