文件上传进度条提示框

1、html提示框

<!-- 文件上传提示框 -->
<div class="modal fade" tabindex="-1" role="dialog" id="waitingModal" >
        <div class="modal-dialog" role="document">
            <div class="modal-content" style="background: gray;">
                <div class="modal-header">
                    <h4 class="modal-title" style="color: white;">正在上传中...</h4>
                </div>
                <div class="meter red">
					<span style="width: 100%"></span>
				</div>
                <!-- <div class="modal-body">
                    <div class="progress">
                        <div class="progress-bar progress-bar-striped active" role="progressbar" aria-valuenow="45" aria-valuemin="0" aria-valuemax="100" style="width: 100%;height: 17px;">
                            <span class="sr-only">100%</span>
                        </div>
                        
                    </div>
                </div> -->
                <div class="modal-footer">
                    <button type="button" disabled class="btn btn-default" data-dismiss="modal">正在上传中,请勿关闭或刷新页面!</button>
                </div>
            </div>
        </div>
    </div>

2、提示框样式

<!-- 文件上传进度条 -->
<style>
.meter { 
	height: 20px;  /* Can be anything */
	position: relative;
	margin: 60px 0 20px 0; /* Just for demo spacing */
	background: #555;
	-moz-border-radius: 25px;
	-webkit-border-radius: 25px;
	border-radius: 25px;
	padding: 10px;
	-webkit-box-shadow: inset 0 -1px 1px rgba(255,255,255,0.3);
	-moz-box-shadow   : inset 0 -1px 1px rgba(255,255,255,0.3);
	box-shadow        : inset 0 -1px 1px rgba(255,255,255,0.3);
}
.meter > span {
	display: block;
	height: 100%;
	   -webkit-border-top-right-radius: 8px;
	-webkit-border-bottom-right-radius: 8px;
	       -moz-border-radius-topright: 8px;
	    -moz-border-radius-bottomright: 8px;
	           border-top-right-radius: 8px;
	        border-bottom-right-radius: 8px;
	    -webkit-border-top-left-radius: 20px;
	 -webkit-border-bottom-left-radius: 20px;
	        -moz-border-radius-topleft: 20px;
	     -moz-border-radius-bottomleft: 20px;
	            border-top-left-radius: 20px;
	         border-bottom-left-radius: 20px;
	background-color: rgb(43,194,83);
	background-image: -webkit-gradient(
	  linear,
	  left bottom,
	  left top,
	  color-stop(0, rgb(43,194,83)),
	  color-stop(1, rgb(84,240,84))
	 );
	background-image: -moz-linear-gradient(
	  center bottom,
	  rgb(43,194,83) 37%,
	  rgb(84,240,84) 69%
	 );
	-webkit-box-shadow: 
	  inset 0 2px 9px  rgba(255,255,255,0.3),
	  inset 0 -2px 6px rgba(0,0,0,0.4);
	-moz-box-shadow: 
	  inset 0 2px 9px  rgba(255,255,255,0.3),
	  inset 0 -2px 6px rgba(0,0,0,0.4);
	box-shadow: 
	  inset 0 2px 9px  rgba(255,255,255,0.3),
	  inset 0 -2px 6px rgba(0,0,0,0.4);
	position: relative;
	overflow: hidden;
}
.meter > span:after, .animate > span > span {
	content: "";
	position: absolute;
	top: 0; left: 0; bottom: 0; right: 0;
	background-image: 
	   -webkit-gradient(linear, 0 0, 100% 100%, 
	      color-stop(.25, rgba(255, 255, 255, .2)), 
	      color-stop(.25, transparent), color-stop(.5, transparent), 
	      color-stop(.5, rgba(255, 255, 255, .2)), 
	      color-stop(.75, rgba(255, 255, 255, .2)), 
	      color-stop(.75, transparent), to(transparent)
	   );
	background-image: 
		-moz-linear-gradient(
		  -45deg, 
	      rgba(255, 255, 255, .2) 25%, 
	      transparent 25%, 
	      transparent 50%, 
	      rgba(255, 255, 255, .2) 50%, 
	      rgba(255, 255, 255, .2) 75%, 
	      transparent 75%, 
	      transparent
	   );
	z-index: 1;
	-webkit-background-size: 50px 50px;
	-moz-background-size: 50px 50px;
	-webkit-animation: move 2s linear infinite;
	   -webkit-border-top-right-radius: 8px;
	-webkit-border-bottom-right-radius: 8px;
	       -moz-border-radius-topright: 8px;
	    -moz-border-radius-bottomright: 8px;
	           border-top-right-radius: 8px;
	        border-bottom-right-radius: 8px;
	    -webkit-border-top-left-radius: 20px;
	 -webkit-border-bottom-left-radius: 20px;
	        -moz-border-radius-topleft: 20px;
	     -moz-border-radius-bottomleft: 20px;
	            border-top-left-radius: 20px;
	         border-bottom-left-radius: 20px;
	overflow: hidden;
}
.animate > span:after {
	display: none;
}
@-webkit-keyframes move {
    0% {
       background-position: 0 0;
    }
    100% {
       background-position: 50px 50px;
    }
}
.orange > span {
	background-color: #f1a165;
	background-image: -moz-linear-gradient(top, #f1a165, #f36d0a);
	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #f1a165),color-stop(1, #f36d0a));
	background-image: -webkit-linear-gradient(#f1a165, #f36d0a); 
}
.red > span {
	background-color: #999;
	background-image: -moz-linear-gradient(top, #999, #32c787);
	background-image: -webkit-gradient(linear,left top,left bottom,color-stop(0, #999),color-stop(1, #32c787));
	background-image: -webkit-linear-gradient(#999, #32c787);
}
.nostripes > span > span, .nostripes > span:after {
	-webkit-animation: none;
	background-image: none;
}
.meter{box-sizing: initial;}
</style>

3、js

//上传进度条JS
function showWaiting() {
  $('#waitingModal').modal({
    keyboard: false,
    backdrop: 'static',
    show: true
  });
}
function hideWaiting() {
  $('#waitingModal').modal('hide');
}

4、在ajax中的使用

$.ajax({
      url: ctx + 'section/update', 
      type: 'POST', 
      data: uploadFile ,
      contentType: false, //不设置内容类型  
      processData:false,
      beforeSend:function(){
          showWaiting();//提交时调用提示框
      },
      complete:function(){       
      	  hideWaiting();//执行完隐藏提示框
      },
      success: function(r) {
      	 
      }, 
      error: function(r) {
      	    	
      } 
}); 

5、效果展示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: jQuery文件上传插件是一个基于jQuery库开发的插件,用于实现网页中文件上传功能的扩展。它可以简化文件上传的操作流程,提供更友好的用户界面和更多的上传选项。 首先,jQuery文件上传插件具有良好的兼容性,可以在各种主流浏览器中正常运行,无须考虑兼容性问题。它使用了AJAX技术,可以在不刷新网页的情况下实现异步上传功能,用户可以同时上传多个文件,提高上传效率。 其次,jQuery文件上传插件支持文件的预览和限制。用户在选择文件时,插件可以提供一些文件过滤选项,例如文件类型、文件大小等,帮助用户筛选有效文件。并且,一些插件还可以提供文件预览功能,用户可以在选择文件前预览文件内容,确保上传的文件符合要求。 另外,jQuery文件上传插件还可以提供上传进度条上传成功提示。当用户选择文件并点击上传按钮后,插件会显示一个上传进度条,实时展示文件上传进度。一旦文件上传完成,插件会弹出一个上传成功的提示框,告知用户文件上传已成功。 最后,jQuery文件上传插件还支持文件上传的自定义配置。用户可以根据自己的需求进行插件的配置,例如上传的文件路径、最大文件数、上传按钮的样式等。通过简单的配置,可以满足各种不同场景下的文件上传需求。 总结起来,jQuery文件上传插件为网页提供了方便、快捷、美观的文件上传功能,使用户能够轻松地上传文件,并提供了丰富的扩展选项来满足不同的上传需求。 ### 回答2: jquery文件上传插件是一种基于jquery框架开发的工具,旨在简化文件上传的流程和提供更好的用户体验。它提供了一组操作文件上传的方法和事件,可以轻松地实现文件的选择、上传以及进度跟踪等功能。 使用jquery文件上传插件,只需引入相关的js和css文件,并通过一个简单的调用即可完成文件上传的操作。它可以支持多种文件格式的上传,包括图片、文档、音频、视频等。同时,它还支持多文件同时上传,大大提高了文件上传的效率。 该插件还提供了丰富的配置选项,可以根据实际需求来设置上传的路径、文件大小限制、文件类型限制等。同时,它也支持自定义上传按钮和进度条样式,使得整个上传过程更加美观。 另外,该插件还支持文件上传过程中的各种事件,可以根据需要对上传的文件进行实时处理,比如压缩图片、生成缩略图等。同时,它还可以实时更新文件上传的进度,让用户清楚地知道文件上传的状态。 总的来说,jquery文件上传插件是一个非常实用和方便的工具,可以简化开发者的文件上传工作,提供更好的用户体验。无论是在个人网站还是企业应用中,都可以使用该插件来实现高效的文件上传功能。 ### 回答3: jQuery文件上传插件是一种可以用于在网页中实现文件上传功能的工具。它通过使用jQuery库提供的方法和功能,简化了文件上传的开发过程,使得开发者无需自己编写复杂的上传逻辑和样式,并且可以在兼容不同浏览器的同时提供更好的用户体验。 使用jQuery文件上传插件,我们可以实现以下功能: 1. 显示文件选择界面:插件会提供一个按钮或者区域供用户选择需要上传的文件。用户可以点击该按钮或者拖拽文件到指定区域,从而触发选择文件的操作。 2. 上传文件:一旦用户选择了文件,插件会自动将文件上传到指定的服务器。可以通过配置插件的参数,来设置文件上传的路径和格式要求。 3. 显示上传进度:在文件上传过程中,插件会动态显示文件上传进度条或者百分比,让用户知道上传进度和剩余时间。 4. 处理上传结果:上传完成后,插件会将上传结果返回给开发者,开发者可以根据返回的结果做进一步的处理,比如生成文件链接、保存文件信息等。 5. 支持多文件上传:通过设置插件的参数,可以让用户一次选择多个文件进行上传,提高上传效率。 总之,jQuery文件上传插件简化了文件上传过程的开发,提供了方便的用户界面和交互方式,提高了开发效率和用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值