JavaScript

超轻量级php框架startmvc

bootstrap实现动态进度条效果

更新时间:2020-04-28 08:45:01 作者:startmvc
Bootstrap的动态进度条:html:创建一个modal  这里使用fade先将modal隐藏起来,然后modal里

Bootstrap的动态进度条:

html: 创建一个modal   这里使用fade先将modal隐藏起来,然后modal里面嵌入progress 代码很简单


<div class="modal fade" data-backdrop="static" tabindex="-1" id="progressbar"> 
 <!--窗口声明:--> 
 <div class="modal-dialog modal-lg"> 
 <!-- 内容声明 --> 
 <div class="modal-content"> 
 <!-- 主体 --> 
 <div class="modal-body"> 
 <div class="progress progress-striped active"> 
 <div id="test" class="progress-bar progress-bar-success" role="progressbar" style="width: 10%;"> 
 保存中:{{length}}% 
 </div> 
 </div> 
 </div> 
 </div> 
 </div> 
 </div> 

PS:关于模态框:如果你想实现点击空白处不关闭模态框,可以在<div class="modal fade" data-backdrop="static">这里初始化modal的参数,或者在js里面通过

$('.modal').modal({backdrop: 'static', keyboard: false});设置并打开,当然,哪种方便就用哪种

js:


//进度条的控制 
function startProgerss(){ 
 var trytmp=0; 
 var wait=false; 
 run(); 
 function run(){ 
 if(!wait){ 
 vue.length+=(Math.random()*10).ceil(); 
 } 
 if(vue.length<=98){ 
 if(vue.length>80 && textupover && imgupover){ 
 vue.length=100; 
 $("div[role='progressbar']").css("width","100%"); 
 //短暂延迟后刷新页面,貌似""作用是刷新本页面 
 refreshtohome(1000, ""); 
 }else{ 
 $("div[role='progressbar']").css("width",vue.length+"%"); 
 var timer=setTimeout(run,100); 
 } 
 }else{//等待时间过长,可能出现了其他错误 
 wait=true;//进入等待状态 
 vue.length=99; 
 $("div[role='progressbar']").css("width","99%"); 
 //查看服务器的响应 
 if(textupover && imgupover){ 
 vue.length=100; 
 $("div[role='progressbar']").css("width","100%"); 
 //短暂延迟后刷新页面,貌似""作用是刷新本页面 
 refreshtohome(1000, ""); 
 } 
 if(++trytmp<10){//超时等待(大约10s) 
 var timer=setTimeout(run,1000); 
 }else{ 
 alert("服务器响应失败!"); 
 //隐藏进度条提示框 
 $('#progressbar').modal('hide'); 
 //重置进度条的长度 
 vue.length=10; 
 } 
 } 
 } 
} 

解释:重点是要明白进度条的意义:给用户一个读条,让用户看到程序是在进行而不是死机了,这可以加强应用的用户体验效果。

我上面代码是这样设计的:当提交表单,调用js显示模态框(相当于显示进度条),然后js动态改变进度条的样式(长度),自己控制一个可取的范围

当前台接收到后台的响应的时候,让进度条加载到100%,关闭模态框(隐藏进度条),刷新数据。。

关于百分比的显示,我这里使用了Vue.js来代理,js改变vue.length的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

bootstrap 动态进度条 bootstrap 进度条 bootstrap进度条插件