JS实现可视化文件上传

 更新时间:2018年09月08日 14:33:33   作者:damys  
这篇文章主要为大家详细 介绍了JS实现可视化文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了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不支持可视化

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

您可能感兴趣的文章:

相关文章

  • 开发用到的js封装方法(20种)

    开发用到的js封装方法(20种)

    在本问中我们给大家总结了20种开发中常用到的JS封装方法,有需要的读者们可以学习下。
    2018-10-10
  • JS实现的JSON数组去重算法示例

    JS实现的JSON数组去重算法示例

    这篇文章主要介绍了JS实现的JSON数组去重算法,结合实例形式分析了javascript针对json数组的遍历、判断实现去重复功能相关操作技巧,需要的朋友可以参考下
    2018-04-04
  • 简单实现js页面切换功能

    简单实现js页面切换功能

    这篇文章主要为大家详细介绍了如何实现js页面切换功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-07-07
  • JS截取字符串 subStr()、substring()、slice() 方法示例详解

    JS截取字符串 subStr()、substring()、slice() 方法示例详解

    这篇文章主要介绍了JS截取字符串 subStr()、substring()、slice() 方法,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • JavaScript 判断浏览器是否支持SVG的代码

    JavaScript 判断浏览器是否支持SVG的代码

    SVG(可缩放矢量图形),接下来将介绍下如何判断浏览器是否支持SVG,感兴趣的朋友可以参考下哈,希望本代码对你有所帮助
    2013-03-03
  • JavaScript打印iframe内容示例代码

    JavaScript打印iframe内容示例代码

    打印iframe内容的方法有很多,下面为大家简单介绍下使用JavaScript实现打印,有需求的朋友可以参考下
    2013-08-08
  • CSS3 动画卡顿性能优化的完美解决方案

    CSS3 动画卡顿性能优化的完美解决方案

    今天小编就为大家分享一篇关于css3 动画卡顿性能优化的完美解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2018-09-09
  • 这段js代码得节约你多少时间

    这段js代码得节约你多少时间

    这段js代码得节约你多少时间,学习js的朋友可以参考下。
    2011-12-12
  • 配置Webpack SourceMap 实践教程

    配置Webpack SourceMap 实践教程

    这篇文章主要介绍了如何配置Webpack SourceMap,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-03-03
  • Javascript如何实现双指控制图片功能

    Javascript如何实现双指控制图片功能

    这篇文章主要介绍了Javascript如何实现双指控制图片功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02

最新评论