pace.js和NProgress.js兩個(gè)加載進(jìn)度插件的一點(diǎn)小總結(jié)
這兩個(gè)插件都是關(guān)于加載進(jìn)度動(dòng)畫(huà)的,應(yīng)該說(shuō)各有特點(diǎn)吧,最起碼對(duì)我來(lái)說(shuō)是各有優(yōu)勢(shì)的。今天一天就搗鼓了加載進(jìn)度動(dòng)畫(huà),也研究了大量的(也就這兩個(gè))加載進(jìn)度動(dòng)畫(huà),也算對(duì)加載進(jìn)度動(dòng)畫(huà)有了一個(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)來(lái)
使用:
<script>
$(function() {
NProgress.start();
$(window).load(function() {
NProgress.done();
});
</script>
自定義動(dòng)畫(huà)樣式:
將我們定義的樣式寫(xiě)到一個(gè)script標(biāo)簽里,這算是一個(gè)小技巧吧。
<script type="text" id="myId"><br> <div class="splash card"><br> <p class="lead" style="text-align:center">不要回來(lái),馬上走開(kāi)...</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是用來(lái)設(shè)置動(dòng)畫(huà)樣式的屬性
});
NProgress.start();
});
$(window).load(function(){
NProgress.done();
})
</script>
總結(jié):在js里控制動(dòng)畫(huà)什么時(shí)候開(kāi)始,什么時(shí)候結(jié)束,已及加載的動(dòng)畫(huà)樣式。
在自定義樣式里關(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:開(kāi)始顯示進(jìn)度條,如果你不是使用AMD或者Browserify來(lái)加載模塊的話(huà),這個(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)畫(huà)的樣式 --> </head>
改變動(dòng)畫(huà)樣式:
pace里已經(jīng)設(shè)計(jì)好了許多種加載進(jìn)度動(dòng)畫(huà),只需要變化css文件就可以了
總結(jié):
pace的優(yōu)點(diǎn)有直接引入文件就可以了,不需要在自己寫(xiě)任何代碼,就自帶了加載進(jìn)度動(dòng)畫(huà),只是有一個(gè)缺點(diǎn),官網(wǎng)提供的加載進(jìn)度動(dòng)畫(huà)都沒(méi)有遮罩層。
當(dāng)然,可以自己進(jìn)行設(shè)置(我不會(huì));
以上所述是小編給大家介紹的pace.js和NProgress.js兩個(gè)加載進(jìn)度插件的一點(diǎn)小總結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
JS求Number類(lèi)型數(shù)組中最大元素方法
這篇文章主要介紹了如何用JS求Number類(lèi)型數(shù)組中最大元素2018-04-04
Html中JS腳本執(zhí)行順序簡(jiǎn)單舉例說(shuō)明
寫(xiě)在最前面的最先執(zhí)行,Body的onload事件要在頁(yè)面加載完后才執(zhí)行。2010-06-06
JavaScript 輪播圖和自定義滾動(dòng)條配合鼠標(biāo)滾輪分享代碼貼
本文給大家分享一段js輪播圖和自定義滾動(dòng)條的代碼片段,布局和樣式小編沒(méi)給大家多介紹,大家可以根據(jù)個(gè)人需求優(yōu)化,具體實(shí)現(xiàn)代碼,大家可以參考下面代碼片段2016-10-10
JavaScript實(shí)現(xiàn)時(shí)間表動(dòng)態(tài)效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)時(shí)間表動(dòng)態(tài)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07
簡(jiǎn)介EasyUI datagrid editor combogrid搜索框的實(shí)現(xiàn)
這篇文章主要介紹了EasyUI datagrid editor combogrid搜索框的實(shí)現(xiàn),涉及到EasyUI中combogrid的使用方法的相關(guān)知識(shí),非常具有參考價(jià)值,需要的朋友可以參考下2016-04-04
JS獲得QQ號(hào)碼的昵稱(chēng),頭像,生日的簡(jiǎn)單實(shí)例
這篇文章主要介紹了JS獲得QQ號(hào)碼的昵稱(chēng),頭像,生日的簡(jiǎn)單實(shí)例,有需要的朋友可以參考一下2013-12-12
Bootstrap導(dǎo)航菜單點(diǎn)擊后無(wú)法自動(dòng)添加active的處理方法
今天小編就為大家分享一篇Bootstrap導(dǎo)航菜單點(diǎn)擊后無(wú)法自動(dòng)添加active的處理方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-08-08
KnockoutJS 3.X API 第四章之click綁定
click綁定主要作用是用于DOM元素被點(diǎn)擊時(shí)調(diào)用相關(guān)JS函數(shù)。這篇文章主要介紹了KnockoutJS 3.X API 第四章之click綁定,感興趣的朋友一起看看吧2016-10-10
ajax跨域調(diào)用webservice的實(shí)現(xiàn)代碼
這篇文章主要介紹了 ajax跨域調(diào)用webservice服務(wù)例子和理解,最近ajax訪問(wèn)webservice遇到跨域的問(wèn)題,網(wǎng)上搜索資料,總結(jié)如下2016-05-05
electron實(shí)現(xiàn)讀取和寫(xiě)入配置文件的示例詳解
這篇文章主要介紹了electron實(shí)現(xiàn)讀取和寫(xiě)入配置文件的示例,文中通過(guò)代碼示例和圖文結(jié)合的方式介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-03-03

