• 【前端积累】图片上传


      1 <!DOCTYPE html>
      2 <html lang="en">
      3 <head>
      4     <meta charset="UTF-8">
      5     <title>fileUpload</title>
      6     <style type="text/css">
      7         body{
      8             font-family: 'microsoft yahei';
      9             padding-top:10px;
     10         }
     11         #input{
     12             opacity:0;
     13             filter:alpha(opacity=0);
     14             height: 50px;
     15             position: absolute;
     16             top: 3px;
     17             left: 17px;
     18         }
     19         #fileSelect{
     20             padding: 6px 10px;
     21             background-color: #fff;
     22             border: 1px solid #000;
     23             margin: 10px;
     24         }
     25         #platform{
     26             margin-top: 10px;
     27             /*float: left;*/
     28         }
     29         #files{
     30             min-height: 100px;
     31             overflow: hidden;
     32             zoom:1;
     33             width: 500px;
     34             border: 1px solid #222;
     35             margin:10px;
     36             padding: 10px;
     37             float: left;
     38         }
     39 
     40         .filesInfo{
     41             width:100px;
     42             height: 120px;
     43             background-color: rgba(0, 150, 136, 0.08);
     44             border: 1px solid #000;
     45             float: left;
     46             margin: 10px;
     47             text-align: center;
     48         }
     49         .bar{
     50             background-color: #00CC99;
     51             width: 0;
     52             height:10px;
     53             display: block;
     54         }
     55         .animate{
     56             -webkit-animation:music_disc 5s linear;
     57             -ms-animation:music_disc 5s linear;
     58             -o-animation:music_disc 5s linear;
     59             animation:music_disc 5s linear;
     60         }
     61         @keyframes music_disc{
     62             0%{
     63                 width:0px;
     64             }
     65             100%{
     66                 width:100px;
     67             }
     68         }
     69         #cancelFiles{
     70             min-height: 100px;
     71             overflow: hidden;
     72             zoom:1;
     73             float: left;
     74             width: 300px;
     75             border: 1px solid #000;
     76             margin:10px;
     77             padding: 2px 10px;
     78         }
     79         #btn{
     80             clear: both;
     81             display: block;
     82             width: 150px;
     83             height: 40px;
     84             font-size: 20px;
     85             font-family: 'microsoft yahei';
     86             background-color: #fff;
     87             border: 1px solid #000;
     88             margin-left: 175px;
     89 
     90         }
     91 
     92         #btn:hover,#fileSelect:hover{
     93             background-color: #000;
     94             color:#fff;
     95         }
     96     </style>
     97     <script language="JavaScript" type="application/javascript">
     98         window.onload=function(){
     99             var oBtn = document.getElementById('btn');
    100             var files = document.getElementById('files');
    101             var filesInfo = files.getElementsByClassName('filesInfo');
    102 
    103             oBtn.onclick=function(){
    104 
    105                 if(filesInfo.length > 0){
    106                     //为每一个文件的进度条增加效果
    107                     for(var i = 0; i < filesInfo.length;i++){
    108                         var bar = filesInfo[i].getElementsByClassName('bar')[0];
    109                         // console.log(bar.className);
    110                         bar.className = "bar animate";
    111                     }
    112                 }else{
    113                     alert("没有待上传的文件")
    114                 }
    115             }
    116 
    117             //进度完成后显示上传成功
    118             files.addEventListener("webkitAnimationEnd",function(){
    119                 alert('文件上传成功');
    120             });
    121         };
    122 
    123         //选择文件后响应
    124         function handleFiles(files){
    125             // console.log(files);
    126             var fileName = files[0].name.substring(0,5)+'...';
    127             var fileSize = parseInt(Math.round((files[0].size)/1024)) + "kb";
    128             // console.log(fileSize)
    129             //创建文件框和其他信息
    130             var oDiv = document.createElement('div');
    131             var titleName = document.createElement('h5');
    132             var titleSize = document.createElement('h5');
    133             var bar = document.createElement('div');
    134             var filesDiv = document.getElementById('files');
    135 
    136             // console.log(filesDiv);
    137             //生成样式
    138             oDiv.setAttribute('class','filesInfo');
    139             titleName.setAttribute('class','name');
    140             titleSize.setAttribute('class','size');
    141             bar.setAttribute('class','bar');
    142 
    143             oDiv.setAttribute('draggable','true');
    144             oDiv.setAttribute('ondragstart','drag(event)');
    145             oDiv.setAttribute('id','drag'+fileSize);
    146 
    147             //赋入name和size
    148             titleName.innerHTML = fileName;
    149             titleSize.innerHTML = fileSize;
    150 
    151             //插入节点
    152             oDiv.appendChild(titleName);
    153             oDiv.appendChild(titleSize);
    154             oDiv.appendChild(bar);
    155             filesDiv.appendChild(oDiv);
    156         }
    157 
    158         //文件拖拽
    159         function allowDrop(ev){
    160             ev.preventDefault();
    161         }
    162         function drag(ev){
    163             ev.dataTransfer.setData("Text",ev.target.id);
    164         }
    165         function drop(ev){
    166             ev.preventDefault();
    167             var data = ev.dataTransfer.getData("Text");
    168             // console.log(data);
    169             ev.target.appendChild(document.getElementById(data));
    170         }
    171     </script>
    172 </head>
    173 <body>
    174 <a id="fileSelect">
    175 选择文件
    176     <input type="file" id="input" onchange="handleFiles(this.files)">
    177 </a>
    178 <div id="platform" ondrop="drop(event)" ondragover="allowDrop(event)">
    179     <div id="files"></div>
    180     <div id="cancelFiles" ondrop="drop(event)" ondragover="allowDrop(event)">
    181         <p>撤销上传拖至此处</p>
    182     </div>
    183 </div>
    184 <button id="btn">上传</button>
    185 </body>
    186 </html>
  • 相关阅读:
    length()
    matlab mod()&rem()
    tf调试函数
    64位win7+PCL1.6.0+VS2010,64位win10+PCL1.6.0+VS2010
    pcl 1.8 + VS 2010 在win7 x64下的配置
    Qt在vs2010下的配置
    VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序
    [POI2012]ROZ-Fibonacci Representation (贪心)
    CF 666C & 牛客 36D
    数位dp练习
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/6020902.html
Copyright © 2020-2023  润新知