$('.modal').modal({backdrop: 'static',keyboard: false});设置并打开,当然,哪种方便就用哪种
js:
RSS(){
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","");
}
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的值,间接改变前台百分比的显示。当然,条条大路通罗马,没有最好的设计,只有更好的思想。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。
原文链接:https://www.f2er.com/bootstrap/40926.html