近期在做一個網站的查詢功能,但是由于數據量確實太大,分頁查詢后也是很慢,同時查詢出的數據部分還要進行一些處理,導致用戶說要我們給他們加一個查詢進度,要百分比顯示。加上加載動畫很簡單,layui有現成的。但是還要動畫。。我tm(手動微笑),原諒我水平比較低。然后就瞎搞,終于搞出了一個加載的進度,雖然還是假的。。。
創新互聯長期為上千多家客戶提供的網站建設服務,團隊從業經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態環境。為正陽企業提供專業的成都網站制作、網站建設,正陽網站改版等技術服務。擁有十多年豐富建站經驗和眾多成功案例,為您定制開發。上面廢話有點多,直接切入正題。
首先是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 你的函數(){ $.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'] }); //這里是預估的時間,因為整個進度都是根據消耗時間計算的 = = //這里的start,end,stns都是原始項目里帶的。這個的作用是計算要等待的時長的,可以給一個固定值或者其他的東西公式,保證結果是正整數,單位是毫秒即可。 _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); } }); }
分享標題:layui實現加載動畫以及非真實加載進度的方法-創新互聯
轉載來于:http://m.newbst.com/article10/dcddgo.html
成都網站建設公司_創新互聯,為您提供軟件開發、定制開發、品牌網站設計、網站建設、網站設計公司、面包屑導航
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯