bootstrap實(shí)現(xiàn)動態(tài)進(jìn)度條效果
Bootstrap的動態(tài)進(jìn)度條:
html: 創(chuàng)建一個modal 這里使用fade先將modal隱藏起來,然后modal里面嵌入progress 代碼很簡單
<div class="modal fade" data-backdrop="static" tabindex="-1" id="progressbar">
<!--窗口聲明:-->
<div class="modal-dialog modal-lg">
<!-- 內(nèi)容聲明 -->
<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:關(guān)于模態(tài)框:如果你想實(shí)現(xiàn)點(diǎn)擊空白處不關(guān)閉模態(tài)框,可以在<div class="modal fade" data-backdrop="static">這里初始化modal的參數(shù),或者在js里面通過
$('.modal').modal({backdrop: 'static', keyboard: false});設(shè)置并打開,當(dāng)然,哪種方便就用哪種
js:
//進(jìn)度條的控制
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{//等待時間過長,可能出現(xiàn)了其他錯誤
wait=true;//進(jìn)入等待狀態(tài)
vue.length=99;
$("div[role='progressbar']").css("width","99%");
//查看服務(wù)器的響應(yīng)
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("服務(wù)器響應(yīng)失敗!");
//隱藏進(jìn)度條提示框
$('#progressbar').modal('hide');
//重置進(jìn)度條的長度
vue.length=10;
}
}
}
}
解釋:重點(diǎn)是要明白進(jìn)度條的意義:給用戶一個讀條,讓用戶看到程序是在進(jìn)行而不是死機(jī)了,這可以加強(qiáng)應(yīng)用的用戶體驗(yàn)效果。
我上面代碼是這樣設(shè)計的:當(dāng)提交表單,調(diào)用js顯示模態(tài)框(相當(dāng)于顯示進(jìn)度條),然后js動態(tài)改變進(jìn)度條的樣式(長度),自己控制一個可取的范圍
當(dāng)前臺接收到后臺的響應(yīng)的時候,讓進(jìn)度條加載到100%,關(guān)閉模態(tài)框(隱藏進(jìn)度條),刷新數(shù)據(jù)。。
關(guān)于百分比的顯示,我這里使用了Vue.js來代理,js改變vue.length的值,間接改變前臺百分比的顯示。當(dāng)然,條條大路通羅馬,沒有最好的設(shè)計,只有更好的思想。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Bootstrap每天必學(xué)之進(jìn)度條
- BootStrap Progressbar 實(shí)現(xiàn)大文件上傳的進(jìn)度條的實(shí)例代碼
- BootStrap 實(shí)現(xiàn)各種樣式的進(jìn)度條效果
- BootStrap初學(xué)者對彈出框和進(jìn)度條的使用感覺
- Spring Boot+AngularJS+BootStrap實(shí)現(xiàn)進(jìn)度條示例代碼
- bootstrap多種樣式進(jìn)度條展示
- BootStrap組件之進(jìn)度條的基本用法
- Bootstrap實(shí)現(xiàn)各種進(jìn)度條樣式詳解
- Bootstrap進(jìn)度條實(shí)現(xiàn)代碼解析
- jquery 簡單的進(jìn)度條實(shí)現(xiàn)代碼
- 分享8款優(yōu)秀的 jQuery 加載動畫和進(jìn)度條插件
- bootstrap+jQuery實(shí)現(xiàn)的動態(tài)進(jìn)度條功能示例
相關(guān)文章
利用javascript實(shí)現(xiàn)web頁面中指定區(qū)域打印
將需要打印的課程表的table放入div標(biāo)簽中,然后指定出需要打印的區(qū)域,最后調(diào)用window.print打印指定內(nèi)容2013-10-10
layui動態(tài)設(shè)置單選按鈕選中效果實(shí)例
最近在使用layui前端框架,在使用單選按鈕、下拉菜單select、checkbox等控件的時候,往往遇到一些初始化的東西,下面這篇文章主要給大家介紹了關(guān)于layui動態(tài)設(shè)置單選按鈕選中效果的相關(guān)資料,需要的朋友可以參考下2023-06-06
詳解微信小程序-掃一掃 wx.scanCode() 掃碼大變身
這篇文章主要介紹了微信小程序-掃一掃wx.scanCode() 掃碼大變身,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04
js實(shí)現(xiàn)的動畫導(dǎo)航菜單效果代碼
這篇文章主要介紹了js實(shí)現(xiàn)的動畫導(dǎo)航菜單效果代碼,涉及JavaScript通過鼠標(biāo)事件控制頁面元素樣式動態(tài)變換的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-09-09
js+css實(shí)現(xiàn)回到頂部按鈕(back to top)
這篇文章主要為大家詳細(xì)介紹了js+css實(shí)現(xiàn)回到頂部按鈕back to top回到頂部按鈕,感興趣的小伙伴們可以參考一下2016-03-03
Yii2使用Bootbox插件實(shí)現(xiàn)自定義彈窗
Bootbox.js 是一個小型的 JavaScript 庫用來創(chuàng)建簡單的可編程對話框,基于 Twitter 的 Bootstrap 開發(fā)。今天我們就來研究下,如何使用bootbox插件來實(shí)現(xiàn)自定義彈窗。2015-04-04

