效果:(点击上传按钮)

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. codeforces 555B Case of Fugitive

    题目连接: http://codeforces.com/problemset/problem/555/B 题目大意: 有n个岛屿(岛屿在一列上,可以看做是线性的,用来描述岛屿位置的是起点与终点),m个 ...

  2. spring入门笔记-(一)、spring boot HelloWorld

    什么是spring boot Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员 ...

  3. php 遇到报错 Call to a member function fetch_object()

    1.检查语法 ,没问题 <?php require "fun.php"; $kc_sql="select distinct KCM from KCB"; ...

  4. Multitenant best Practice clone pdb seed and Clone a Pluggable Database – 12c Edition

    1. 1.Tnsnames when connecting to either Container or Pluggable instance The tnsnames.ora should be c ...

  5. JDBC连接Oracle工具类

    import java.sql.*;import java.util.ResourceBundle; /** * jdbc工具类,负责: * 1. 加载/注册数据库驱动程序 * 2. 获取数据库连接 ...

  6. Java集合框架源码(四)——Vector

    第1部分 Vector介绍 Vector简介 Vector 是矢量队列,它是JDK1.0版本添加的类.继承于AbstractList,实现了List, RandomAccess, Cloneable这 ...

  7. 洛谷 P3388 【模板】割点

    题目背景 割点 题目描述 给出一个n个点,m条边的无向图,求图的割点. 输入输出格式 输入格式: 第一行输入n,m 下面m行每行输入x,y表示x到y有一条边 输出格式: 第一行输出割点个数 第二行按照 ...

  8. HDU_1856_带权并查集

    有10000000个同学,他们之间可能是直接朋友或者间接朋友,问最大的朋友圈有多少人. 一直觉得10000000的数组开不了,用map优化了一下,结果能开,且10000000也不会超时... #inc ...

  9. Laravel 使用中间件进行权限控制

    Laravel 使用中间件进行权限控制 飞凡的陀螺 关注 2018.01.24 17:45 字数 264 阅读 1138评论 0喜欢 1 先看 文档Laravel 中间件提供了一种方便的机制来过滤进入 ...

  10. zookeeper、consul 实现注册中心

    1.Zookeeper 分布式协调工具,可以实现注册中心 所有实现方式基本一致,只需要先开启zookeeper的服务端,然后再打开客户端jar包即可. Zookeeper一开始连接失败,后面又可以了, ...