Bootstrap的动态进度条:
创新互联建站专注于企业营销型网站、网站重做改版、惠东网站定制设计、自适应品牌网站建设、H5高端网站建设、商城网站定制开发、集团公司官网建设、外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为惠东等各大城市提供网站开发制作服务。
html: 创建一个modal 这里使用fade先将modal隐藏起来,然后modal里面嵌入progress 代码很简单
PS:关于模态框:如果你想实现点击空白处不关闭模态框,可以在
$('.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的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持创新互联。