input file 样式以及获取选择文件方法集合

Posted 名扬博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了input file 样式以及获取选择文件方法集合相关的知识,希望对你有一定的参考价值。

样式一(http://www.cnblogs.com/jason-liu-blogs/archive/2013/06/13/3133377.html

<style>
a{display:inline-block; width:100px; height:40px; background:red; position:relative; overflow:hidden;}
a:hover{background:green;}
input{position:absolute; right:0; top:0; font-size:100px; opacity:0; filter:alpha(opacity=0);}
</style>
    
<a href="#">
    <input type="file" value="浏览" />
</a>

外观一

样式二(http://www.jb51.net/css/69093.html

CSS 代码
*{margin:0;padding:0;} 
a{text-decoration:none;} 
.btn_addPic{ 
display: block; 
position: relative; 
width: 140px; 
height: 39px; 
overflow: hidden; 
border: 1px solid #EBEBEB; 
background: none repeat scroll 0 0 #F3F3F3; 
color: #999999; 
cursor: pointer; 
text-align: center; 
} 
.btn_addPic span{display: block;line-height: 39px;} 
.btn_addPic em { 
background:url(http://p7.qhimg.com/t014ce592c1a0b2d489.png) 0 0; 
display: inline-block; 
width: 18px; 
height: 18px; 
overflow: hidden; 
margin: 10px 5px 10px 0; 
line-height: 20em; 
vertical-align: middle; 
} 
.btn_addPic:hover em{background-position:-19px 0;} 
.filePrew { 
display: block; 
position: absolute; 
top: 0; 
left: 0; 
width: 140px; 
height: 39px; 
font-size: 100px; /* 增大不同浏览器的可点击区域 */ 
opacity: 0; /* 实现的关键点 */ 
filter:alpha(opacity=0);/* 兼容IE */ 
} 

html代码
<A class=btn_addPic href="javascript:void(0);"><SPAN><EM>+</EM>添加图片</SPAN> <INPUT class=filePrew title=支持jpg、jpeg、gif、png格式,文件小于5M tabIndex=3 type=file size=3 name=pic></A>

外观二

样式三(http://www.360doc.com/content/12/1229/13/11395036_256962485.shtml

HTml 代码

  <div class="fileInputContainer">
  <input type="file" name="fileData" id="imgFlie"  onchange="showPicture(this.files)" multiple />
  </div>

CSS代码
.fileInputContainer {
      height: 80px;
      background: url(http://wx115.cnpsim.com/Content/images/imagefile.png);
      background-size: contain;
      position: relative;
      width: 80px;
      text-align:center;
  }
  #imgFlie {
      height: 80px;
      overflow: hidden;
      font-size: 100px;
      position: absolute;
      right: 0;
      top: 0;
      opacity: 0;
      filter: alpha(opacity=0);
      cursor: pointer;
  }

样式三

 *可以通过JQ注册change事件以便获取选择的文件或图片,在chang事件里面通过 this.files获取选择的文件等,也可像样式三代码中一样通过JS中onchange事件获取,

 *有时text-align:center,并不能使其居中时可以尝试用margin-left:30%;margin-right:30%;

 
$("#imgFlie").live("change", function () {
    var data = this.files;
    //var data = document.getElementById(\'imgFlie\').files;js获取
    $(this).clone().replaceAll(file = this); //每次选中都保存旧元素,并使用新的控件替换(解决紧邻的二次不能选择同一图片)
    $.each(data, function (key, value) {
        var objUrl = getObjectURL(value);
        if (objUrl) {
            var img = new Image();
            img.src = objUrl;
            img.onload = function () {
                var size = img.width + \'x\' + img.height;
                $("#ImageDiv").append(\'<figure><div>\' +
                \'<a  href=\' +
                \'"\' + objUrl + \'"\' +
                \'data-size=\' +
                \'"\' + size + \'"\' +
                \'>\' +
                \'<img class="WorkOrderimageNew" style="height:90px;width:90px;" src=\' +
                    \'"\' + img.src + \'"\' +
                \'>\' +
                \'</a>\' +
                \'</div>\' +
                \'<figcaption style="display:none;">\' +
                \'图片\' +
                //\'<button style="float:right;" onclick=DeleteImage("\' + value + \'"\' +
                //\',\' +
                //\'"\' + value + \'")>删除图片(手机端需要注册触摸事件)</button> \' +
                \'</figcaption></figure>\'
                )
            };
        }
    });
});
function showPicture(files) {
  //  var files = document.getElementById(\'imgFlie\').files;
    for (var i = 0; i < files.length; i++) {
        var file = files[i];
        if (!/image\\/\\w+/.test(file.type)) {
            return false;
        }
        var url = getObjectURL(file)
        if (url) { 
            var img = new Image();
            img.src = url;
            img.onload = function () {
                var size = img.width + \'x\' + img.height;
                $("#ImageDiv").append(\'<figure><div>\' +
                \'<a  href=\' +
                \'"\' + img.src + \'"\' +
                \'data-size=\' +
                \'"\' + size + \'"\' +
                \'>\' +
                \'<img class="WorkOrderimageNew" style="height:40px;width:40px;" src=\' +
                    \'"\' + img.src + \'"\' +
                \'>\' +
                \'</a>\' +
                \'</div>\' +
                \'<figcaption style="display:none;">\' +
                \'这是的图片名\' +
                 \'"\' + file.name + \'"\' +
                \'</figcaption></figure>\'
                )
            }
        }
    }
}

 

以上是关于input file 样式以及获取选择文件方法集合的主要内容,如果未能解决你的问题,请参考以下文章

input type=file 选择文件路径获取方法

input file样式,文件路径文件名的获取

input[tyle="file"]样式修改及上传文件名显示

input(file)样式修改及上传文件名显示

JQuery实现选择桌面照片,替换为网页背景以及解决上传文件路径问题

js获取HTML5 多文件file选择的数量