效果:(点击上传按钮)

See the Pen pjGNJr by moyu (@MoYu1991) on CodePen.

html代码:

 
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>upload</title>
  6. <link rel="stylesheet" type="text/css" href="upload/upload.css">
  7. <script type="text/javascript" src="upload/jquery.js"></script>
  8. </head>
  9. <body>
  10. <span class="upload-span">开始上传文件</span>
  11. <div class="upload-mask"></div>
  12. <div class="upload-component">
  13. <div class="upload-close">
  14. <span class="upload-close-span">关闭</span>
  15. </div>
  16. <div class="upload-content">
  17. <div class="progress">
  18. <span class="upload-text"></span>
  19. <span class="uploaded"></span>
  20. </div>
  21. <div class="confirm-cancel">
  22. <span class="confirm">确认</span>
  23. <span class="cancel">取消</span>
  24. </div>
  25. </div>
  26. </div>
  27. <script type="text/javascript" src="upload/upload.js"></script>
  28. </body>
  29. </html>
 
CSS代码:
 
  1. .upload-span{
  2. display:inline-block;
  3. width:120px;
  4. height:40px;
  5. color:#FFFFFF;
  6. text-align: center;
  7. line-height:40px;
  8. background-color: blue;
  9. border:2px solid blue;
  10. border-radius:5px;
  11. cursor: pointer;
  12. letter-spacing:2px;
  13. }
  14. .upload-mask{
  15. position: absolute;
  16. top:0;
  17. left:0;
  18. z-index:9;
  19. width:100%;
  20. height:100%;
  21. background-color: rgba(84,84,84,0.3);
  22. display: none;
  23. }
  24. .upload-component{
  25. position: absolute;
  26. z-index:99;
  27. top:50%;
  28. left:50%;
  29. margin-left:-120px;
  30. margin-top:-60px;
  31. width:240px;
  32. height:120px;
  33. background-color:#FFFFFF;
  34. display:none;
  35. }
  36. .upload-close{
  37. position: relative;
  38. height:30px;
  39. background-color: rgb(234,234,234);
  40. }
  41. .upload-close span{
  42. position: absolute;
  43. right:15px;
  44. line-height:30px;
  45. cursor: pointer;
  46. }
  47. .upload-content,.confirm-cancel{
  48. margin-top:15px;
  49. }
  50. .progress{
  51. position:relative;
  52. width:90%;
  53. height:22px;
  54. margin-left:4.88888%;
  55. text-align: center;
  56. line-height:22px;
  57. border:1px solid #ccc;
  58. }
  59. .upload-text{
  60. position:absolute;
  61. z-index:99999;
  62. color:red;
  63. }
  64. .uploaded{
  65. position:absolute;
  66. left:0;
  67. z-index:9999;
  68. width:0%;
  69. height:100%;
  70. background-color: blue;
  71. color:#FFFFFF;
  72. }
  73. .confirm-cancel span{
  74. display:inline-block;
  75. width:60px;
  76. height:30px;
  77. line-height:30px;
  78. text-align: center;
  79. background-color:#ccc;
  80. cursor:wait;
  81. }
  82. .confirm{
  83. margin-left:40%;
  84. }
  85. .cancel{
  86. margin-left:10px;
  87. }
 
jQuery代码:
 
  1. $(function (){
  2. var $uploadSpan = $('.upload-span');
  3. var $uploadMask = $('.upload-mask');
  4. var $uploadContent = $('.upload-component');
  5. var $closeConfirmCancel = $('.upload-close-span,.confirm,.cancel');
  6. var $uploadTextSpan = $('.upload-text');
  7. function showMask(){
  8. $(".upload-mask,.upload-component").css({display:'block'});
  9. progressBar();
  10. $uploadSpan.off('click',showMask);
  11. }
  12. function hiddenMask(){
  13. $uploadMask.css({display:'none'});
  14. $uploadSpan.on('click',showMask);
  15. }
  16. function closeConfirmCancel(){
  17. $uploadContent.css({display:'none'});
  18. $uploadTextSpan.text('').next().css({width:0});
  19. hiddenMask();
  20. }
  21. // 模拟进度
  22. function progressBar(){
  23. var max =100;
  24. var init =0;
  25. var uploaded;
  26. var test = setInterval(function(){
  27. init +=5;
  28. uploaded = parseInt(init / max *100)+'%';
  29. $uploadTextSpan.text(uploaded).next().css({width:uploaded});
  30. if(init ===100){
  31. clearInterval(test);
  32. $uploadTextSpan.text('上传完成');
  33. $('.confirm-cancel span').css({cursor:'pointer'});
  34. $('.confirm').css({backgroundColor:'rgb(111,197,293)'});
  35. $('.cancel').css({backgroundColor:'rgb(175,194,211)'})
  36. $closeConfirmCancel.on('click',closeConfirmCancel);
  37. }
  38. else{
  39. $closeConfirmCancel.off('click',closeConfirmCancel);
  40. $('.upload-close-span').on('click',function(){
  41. clearInterval(test);
  42. closeConfirmCancel();
  43. });
  44. }
  45. },1000);
  46. }
  47. $uploadSpan.on('click',showMask);
  48. })
 

jQuery实现上传进度条效果的更多相关文章

  1. JS框架_(JQuery.js)上传进度条

    百度云盘 传送门 密码: 1pou 纯CSS上传进度条效果: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN ...

  2. jQuery文件上传插件jQuery Upload File 有上传进度条

    jQuery文件上传插件jQuery Upload File 有上传进度条 jQuery文件上传插件jQuery Upload File,插件使用简单,支持单文件和多文件上传,支持文件拖拽上传,有进度 ...

  3. HTML5矢量实现文件上传进度条

    在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...

  4. 基于HT for Web矢量实现HTML5文件上传进度条

    在HTML中,在文件上传的过程中,很多情况都是没有任何的提示,这在体验上很不好,用户都不知道到时有没有在上传.上传成功了没有,所以今天给大家介绍的内容是通过HT for Web矢量来实现HTML5文件 ...

  5. PHP中使用Session配合Javascript实现文件上传进度条功能

    Web应用中常需要提供文件上传的功能.典型的场景包括用户头像上传.相册图片上传等.当需要上传的文件比较大的时候,提供一个显示上传进度的进度条就很有必要了. 在PHP .4以前,实现这样的进度条并不容易 ...

  6. spring定时任务-文件上传进度条

    spring定时任务 导依赖 <!-- https://mvnrepository.com/artifact/org.quartz-scheduler/quartz --> <dep ...

  7. Java 单文件、多文件上传 / 实现上传进度条

    博客地址:https://ainyi.com/76 日常,工作 在这里总结一下上传吧(是以前做过的练习,就汇总到个人博客吧) java ssm 框架实现文件上传 实现:单文件上传.多文件上传(单选和多 ...

  8. 创建一个jQuery UI的垂直进度条效果

    日期:2013-9-24  来源:GBin1.com 在线演示 缺省的jQuery UI只有水平的进度条效果,没有垂直的进度条效果,仅仅重新定义JQuery UI的CSS不能解决这个问题. 这里我们扩 ...

  9. iOS_文件上传进度条的实现思路-AFNettworking

    iOS_文件上传进度条的实现思路-AFNettworking //要上传的文件名,在这里我使用当前日期做为文件的名称 NSString * fileName =[NSString stringWith ...

随机推荐

  1. [Usaco2017 Feb]Why Did the Cow Cross the Road III (Gold)

    Description 给定长度为2N的序列,1~N各处现过2次,i第一次出现位置记为ai,第二次记为bi,求满足ai < aj < bi < bj的对数 Sample Input ...

  2. BFS(最短路) HDOJ 4308 Saving Princess claire_

    题目传送门 题意:一个(r*c<=5000)的迷宫,起点'Y‘,终点'C',陷阱‘#’,可行路‘*’(每走一个,*cost),传送门P,问Y到C的最短路 分析:一道最短路问题,加了传送门的功能, ...

  3. Service官方教程(11)Bound Service示例之2-AIDL 定义跨进程接口并通信

    Android Interface Definition Language (AIDL) 1.In this document Defining an AIDL Interface Create th ...

  4. mysql各个版本下载地址

    之所记录下来是因为我找了好久才找到:这下记着了:http://downloads.mysql.com/archives/community/ 希望对没有找到的朋友有帮助

  5. poj2661Factstone Benchmark

    链接 利用log函数来求解 n!<=2^k k会达到400+W 暴力就不要想了,不过可以利用log函数来做 log2(n!) = log2(1)+log2(2)+..log2(n)<=k ...

  6. outlook 通讯录分类--2017年1月16日--对联系人分类管理

    outlook功能多,复杂,导致打开界面就晕,通讯录分类 问:在Outlook 中,随着联系人数量的增多,亲朋好友.同事.客户的信息混杂在一起,每次发邮件都要用很长时间才能从联系人列表中找到需要的人. ...

  7. Spring Mvc相关随笔

    web.xml部分 1.欢迎界面 <welcome-file-list> <welcome-file>/views/login.jsp</welcome-file> ...

  8. Win10 1803更新UWP无法安装的解决办法|错误代码0x80073D0D

    升级Win10 1803后,出现了之前安装的UWP.应用无法更新,再此安装失败的现象. 应用商店错误代码为:0x80073D0D,尝试卸载重装商店,清除应用缓存也无法解决. 最终解决办法: 下载Eve ...

  9. Java字符串操作方法集

    常用Java字符串操作方法 String s="Hello" String s2="World"   操作 方法 使用方法 结果 字符串截取 substring ...

  10. python itertools模块实现排列组合

    转自:https://blog.csdn.net/specter11235/article/details/71189486 一.笛卡尔积:itertools.product(*iterables[, ...