pace.js和NProgress.js兩個(gè)加載進(jìn)度插件的一點(diǎn)小總結(jié)
這兩個(gè)插件都是關(guān)于加載進(jìn)度動(dòng)畫的,應(yīng)該說各有特點(diǎn)吧,最起碼對(duì)我來說是各有優(yōu)勢(shì)的。今天一天就搗鼓了加載進(jìn)度動(dòng)畫,也研究了大量的(也就這兩個(gè))加載進(jìn)度動(dòng)畫,也算對(duì)加載進(jìn)度動(dòng)畫有了一個(gè)初步的了解了吧。
NProgress.js
NProgress是基于jquery的,且版本要 >1.8
API:
NProgress.start() — 啟動(dòng)進(jìn)度條
NProgress.set(0.4) — 將進(jìn)度設(shè)置到具體的百分比位置
NProgress.inc() — 少量增加進(jìn)度
NProgress.done() — 將進(jìn)度條標(biāo)為完成狀態(tài)
引入:
<link rel="stylesheet" type="text/css" href="css/NProgress.css" rel="external nofollow" > <script src="js/NProgress.js" type="text/javascript"></script><br>//還有jquery要引入進(jìn)來
使用:
<script> $(function() { NProgress.start(); $(window).load(function() { NProgress.done(); }); </script>
自定義動(dòng)畫樣式:
將我們定義的樣式寫到一個(gè)script標(biāo)簽里,這算是一個(gè)小技巧吧。
<script type="text" id="myId"><br> <div class="splash card"><br> <p class="lead" style="text-align:center">不要回來,馬上走開...</p> <div class="progress"> <div class="mybar" role="bar"> </div> </div> </div><br></script>
這是css
html,body,iframe{ margin: 0; padding: 0; } #nprogress{ position: fixed; top: 0; right: 0; bottom: 0; left: 0; background-color: #f7f7f7; z-index: 999; } .spinner-icon{ display: none!important; } .splash { position:absolute; top:40%; left:0; right:0; margin: auto; } .splash img { display: block; margin-left: auto; margin-right: auto; height: 100px; width: 100px; } .card { background-color: #f7f7f7; padding: 20px 25px 15px; margin: 0 auto 25px; width: 380px; } .mybar { background: #29d; height:10px; } .progress { height: 10px; overflow: hidden; }
js代碼變成了這樣:
<script type="text/javascript"> $(function(){ NProgress.configure({ template: $('#myId').html() // template是用來設(shè)置動(dòng)畫樣式的屬性 }); NProgress.start(); }); $(window).load(function(){ NProgress.done(); }) </script>
總結(jié):在js里控制動(dòng)畫什么時(shí)候開始,什么時(shí)候結(jié)束,已及加載的動(dòng)畫樣式。
在自定義樣式里關(guān)鍵的兩個(gè)指針就是 role 屬性:
role=bar :橫向加載條
role=spinner 旋轉(zhuǎn)的小圈
樣例2:(省略了css)
<script type="text" id="myId"> <em id="__mceDel"><em id="__mceDel"><div class="bar" role="bar" style="display=block"><br> <div class="peg"></div><br> </div><br> <div class="spinner" role="spinner"><br> <div class="spinner-icon"></div><br> </div></em></em> </script>
pace.js:
API:
Pace.start:開始顯示進(jìn)度條,如果你不是使用AMD或者Browserify來加載模塊的話,這個(gè)會(huì)默認(rèn)執(zhí)行。
Pace.restart:進(jìn)度條重新加載以及顯示。
Pace.stop:隱藏進(jìn)度條以及停止加載。
Pace.track:監(jiān)測(cè)一個(gè)或者多個(gè)請(qǐng)求任務(wù)。
Pace.ignore:忽略一個(gè)或者多個(gè)請(qǐng)求任務(wù)。
用法:
<head> <script src="/pace/pace.js"></script> <link href="/pace/themes/pace-theme-barber-shop.css" rel="external nofollow" rel="stylesheet" /> <br> <!-- 此處的css樣式就決定了加載進(jìn)度動(dòng)畫的樣式 --> </head>
改變動(dòng)畫樣式:
pace里已經(jīng)設(shè)計(jì)好了許多種加載進(jìn)度動(dòng)畫,只需要變化css文件就可以了
總結(jié):
pace的優(yōu)點(diǎn)有直接引入文件就可以了,不需要在自己寫任何代碼,就自帶了加載進(jìn)度動(dòng)畫,只是有一個(gè)缺點(diǎn),官網(wǎng)提供的加載進(jìn)度動(dòng)畫都沒有遮罩層。
當(dāng)然,可以自己進(jìn)行設(shè)置(我不會(huì));
以上所述是小編給大家介紹的pace.js和NProgress.js兩個(gè)加載進(jìn)度插件的一點(diǎn)小總結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
js匿名函數(shù)的調(diào)用示例(形式多種多樣)
匿名函數(shù)就是沒有實(shí)際名字的函數(shù),javaScript的匿名函數(shù)形式多樣,下面就一一為大家羅列出來2014-08-08在web中js實(shí)現(xiàn)類似excel的表格控件
這篇文章主要介紹了如何在web中實(shí)現(xiàn)類似excel的表格控件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09input+select(multiple) 實(shí)現(xiàn)下拉框輸入值
昨天做一個(gè)網(wǎng)站時(shí),需要實(shí)現(xiàn)下拉框能夠輸入,從功能上講是要實(shí)現(xiàn)用戶在文本框輸入值時(shí),能夠從后讀出數(shù)據(jù)彈出下拉選項(xiàng)2009-05-05禁用Enter鍵表單自動(dòng)提交實(shí)現(xiàn)代碼
這篇文章主要介紹了禁用Enter鍵表單自動(dòng)提交實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-05-05jsTree樹控件(基于jQuery, 超強(qiáng)悍)[推薦]
jsTree是基于javascript的一個(gè)跨瀏覽器樹控件,功能強(qiáng)大,而且是免費(fèi)的。2009-09-09javascript中attachEvent用法實(shí)例分析
這篇文章主要介紹了javascript中attachEvent用法,實(shí)例分析了javascript中事件綁定的相關(guān)技巧,需要的朋友可以參考下2015-05-05JavaScript獲取當(dāng)前url根目錄(路徑)
本文主要介紹JavaScript獲取當(dāng)前url根目錄的方法,比較實(shí)用,需要的朋友可以參考一下。2016-06-06