欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

bootstrap實(shí)現(xiàn)動態(tài)進(jìn)度條效果

 更新時間:2017年03月08日 14:42:18   作者:紅塵客棧_繁華  
本篇文章主要介紹了bootstrap實(shí)現(xiàn)動態(tài)進(jìn)度條效果,進(jìn)度條可以加強(qiáng)應(yīng)用的用戶體驗(yàn)效果,看到數(shù)字,具有一定的參考價值,有興趣的可以了解一下。

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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論