本文實例為大家分享了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不支持可視化
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。
新聞熱點
疑難解答