NProgress顯示頂部進(jìn)度條效果及使用詳解
NProgress實(shí)現(xiàn)顯示加載進(jìn)度條效果,具有逼真的動(dòng)畫涓涓細(xì)流來說服你的用戶,無頁(yè)面跳轉(zhuǎn)效果 ,極大提高用戶體驗(yàn)效果
1. 官網(wǎng)下載地址
實(shí)現(xiàn)效果如下GIF圖片所示:(請(qǐng)求的數(shù)據(jù)比較小,所以跑得比較快,可以開發(fā)者工具Network設(shè)置為3G以下網(wǎng)速看得更清晰點(diǎn))

2. 引入需要的 nprogress.css 和 nprogress.js 文件

<link rel="stylesheet" type="text/css" href="nprogress.css" rel="external nofollow" /> <script src="nprogress.js"></script>
3. 基本用法:只需要調(diào)用NProgress的 start() 和 done() 的API來控制進(jìn)度條
NProgress最重要兩個(gè)API就是start()和done(),基本一般用這兩個(gè)就足夠了。
·
NProgress.start(); //顯示進(jìn)度條
NProgress.done(); //完成進(jìn)度條
·
下面結(jié)合ajax的ajaxStart()和ajaxStop()全局事件代碼實(shí)現(xiàn)加載效果。
<body>
<button id="btn">請(qǐng)求</button>
<script src="nprogress.js"></script>
<script src="jquery.js"></script>
<script>
$(document)
.ajaxStart(function () {
//請(qǐng)求開始了
NProgress.start();
})
.ajaxStop(function () {
//請(qǐng)求結(jié)束了
NProgress.done();
})
$('#btn').on('click', function () {
$.get('time.php')
})
</script>
</body>
實(shí)現(xiàn)效果:(GIF)

4. NProgress 其他高級(jí)用法
(1)百分比:通過設(shè)置progress的百分比,調(diào)用 .set(n)來控制進(jìn)度,其中n的取值范圍為0-1。
NProgress.set(0.0); NProgress.set(0.4); NProgress.set(1.0);
(2)遞增:要讓進(jìn)度條增加,只要調(diào)用 .inc()。這會(huì)產(chǎn)生一個(gè)隨機(jī)增量,但不會(huì)讓進(jìn)度條達(dá)到100%。此函數(shù)適用于圖片加載或其他類似的文件加載。
NProgress.inc();
(3)強(qiáng)制完成:通過傳遞 true 參數(shù)給done(),使進(jìn)度條滿格,即使它沒有被顯示。
NProgress.done(true);
5. NProgress 其他配置
(1)minimum:設(shè)置最低百分比
NProgress.configure({minimum:0.1});
(2)template:改變進(jìn)度條的HTML結(jié)構(gòu)。為保證進(jìn)度條能正常工作,需要元素?fù)碛衦ole='bar'屬性。
NProgress.configure({
template:"<div class='....'>...</div>"
});
(3)ease:調(diào)整動(dòng)畫設(shè)置,ease可傳遞CSS3緩沖動(dòng)畫字符串(如ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier)。speed為動(dòng)畫速度(單位ms)。
NProgress.configure({ease:'ease',speed:500});
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript自定義函數(shù)參數(shù)傳遞為字符串格式
本節(jié)主要介紹了通過自定義javascript函數(shù)傳遞參數(shù)為字符串格式的,用this傳遞、引號(hào)缺省,示例如下2014-07-07
JS動(dòng)態(tài)計(jì)算移動(dòng)端rem的解決方案
移動(dòng)設(shè)備分辨率五花八門雖然我們可以通過CSS3的media query來實(shí)現(xiàn)適配,但是這種做法并不能適配所有設(shè)備,這篇文章主要介紹了js動(dòng)態(tài)計(jì)算移動(dòng)端rem的解決方案,非常不錯(cuò),感興趣的朋友一起看看吧2016-10-10
xmlplus組件設(shè)計(jì)系列之路由(ViewStack)(7)
xmlplus 是一個(gè)JavaScript框架,用于快速開發(fā)前后端項(xiàng)目。這篇文章主要介紹了xmlplus組件設(shè)計(jì)系列之路由,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05
JavaScript實(shí)現(xiàn)的九種排序算法
這篇文章主要給大家介紹了關(guān)于利用JavaScript實(shí)現(xiàn)的九種排序算法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03
js select實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)選擇
這篇文章主要為大家詳細(xì)介紹了js select實(shí)現(xiàn)省市區(qū)聯(lián)動(dòng)選擇效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)硪黄憫?yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08

