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

layui 實現(xiàn)加載動畫以及非真實加載進度的方法

 更新時間:2019年09月23日 09:39:26   作者:AsyncSpace  
今天小編就為大家分享一篇layui 實現(xiàn)加載動畫以及非真實加載進度的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

近期在做一個網(wǎng)站的查詢功能,但是由于數(shù)據(jù)量確實太大,分頁查詢后也是很慢,同時查詢出的數(shù)據(jù)部分還要進行一些處理,導致用戶說要我們給他們加一個查詢進度,要百分比顯示。加上加載動畫很簡單,layui有現(xiàn)成的。但是還要動畫。。我tm(手動微笑),原諒我水平比較低。然后就瞎搞,終于搞出了一個加載的進度,雖然還是假的。。。

上面廢話有點多,直接切入正題。

首先是html代碼。。。。。(不存在的2333333........)

然后是js代碼:

 //這里是必須要有的,_index的作用是用來關閉遮罩,詳細看layui的文檔
 var _index;
 var _lp_baseTime = 0;
 var _lp_startTime = 0;
 function updateLoadProgress() {
  if (_lp_baseTime < 0) {
   layer.close(_index);
   return;
  }
  var dval = parseInt(new Date().valueOf())- parseInt(_lp_startTime);
  var timeDifference = (dval / _lp_baseTime).toFixed(2);
  var lp = timeDifference < 1 ? timeDifference * 100 : 99;
  $("#loadProgress").html(parseInt(lp));
  setTimeout(function () { updateLoadProgress(); return; }, 650);
 }
 
 
 function 你的函數(shù)(){
 
 $.ajax({
  url:url,
  async:true,
  data:{},
  beforeSend:function(){
   //敲黑板
   _index = layer.load(1, {
     content: "<div style='margin-left:-23px;padding-top:44px;width:120px;color:#FFF;'>正在查詢(<span id='loadProgress' >0</span>%)</div>",
     shade: [0.5, '#000']
    });
   //這里是預估的時間,因為整個進度都是根據(jù)消耗時間計算的 = =
   //這里的start,end,stns都是原始項目里帶的。這個的作用是計算要等待的時長的,可以給一個固定值或者其他的東西公式,保證結果是正整數(shù),單位是毫秒即可。
   _lp_baseTime = Math.abs(new Date(end).valueOf() - new Date(start).valueOf()) / 3600000 * stns.split(',').length * 150;
   _lp_startTime = new Date().valueOf();
 
   setTimeout(function () { updateLoadProgress(); return; }, 60);
  },
  success:function(){ _lp_baseTime = -1; $("#loadProgress").html("100");layer.close(_index); },
  error:function(){
    _lp_baseTime = -1;
    layer.close(_index);
   }
 });
 
 }

OK,就是這么多,主要是利用預估的時間與現(xiàn)在已進行時間進行預估做比較,所以實際使用的時候還要進行一定程度的調整,但是,最起碼也是個思路是不是233333,參考一下吧

超過時間時進度會定格在99%,所以,emmmm....注意預留一些時間

以上這篇layui 實現(xiàn)加載動畫以及非真實加載進度的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論