NProgress显示顶部进度条效果及使用详解


Posted in Javascript onSeptember 21, 2019

NProgress实现显示加载进度条效果,具有逼真的动画涓涓细流来说服你的用户,无页面跳转效果 ,极大提高用户体验效果

1. 官网下载地址

实现效果如下GIF图片所示:(请求的数据比较小,所以跑得比较快,可以开发者工具Network设置为3G以下网速看得更清晰点)

NProgress显示顶部进度条效果及使用详解

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

NProgress显示顶部进度条效果及使用详解

<link rel="stylesheet" type="text/css" href="nprogress.css" rel="external nofollow" />
<script src="nprogress.js"></script>

3. 基本用法:只需要调用NProgress的 start() 和 done() 的API来控制进度条

NProgress最重要两个API就是start()和done(),基本一般用这两个就足够了。
·
NProgress.start(); //显示进度条
NProgress.done(); //完成进度条

·

下面结合ajax的ajaxStart()和ajaxStop()全局事件代码实现加载效果。

<body>
 <button id="btn">请求</button>
 <script src="nprogress.js"></script>
 <script src="jquery.js"></script>
 <script>
 $(document)
 .ajaxStart(function () {
 //请求开始了
 NProgress.start();
 })
 .ajaxStop(function () {
 //请求结束了
 NProgress.done();
 })
 $('#btn').on('click', function () {
 $.get('time.php')
 })
 </script>
</body>

实现效果:(GIF)

NProgress显示顶部进度条效果及使用详解

4. NProgress 其他高级用法

(1)百分比:通过设置progress的百分比,调用 .set(n)来控制进度,其中n的取值范围为0-1。

NProgress.set(0.0); 
NProgress.set(0.4);
NProgress.set(1.0);

(2)递增:要让进度条增加,只要调用 .inc()。这会产生一个随机增量,但不会让进度条达到100%。此函数适用于图片加载或其他类似的文件加载。

NProgress.inc();

(3)强制完成:通过传递 true 参数给done(),使进度条满格,即使它没有被显示。

NProgress.done(true);

5. NProgress 其他配置

(1)minimum:设置最低百分比

NProgress.configure({minimum:0.1});

(2)template:改变进度条的HTML结构。为保证进度条能正常工作,需要元素拥有role='bar'属性。

NProgress.configure({
 template:"<div class='....'>...</div>"
});

(3)ease:调整动画设置,ease可传递CSS3缓冲动画字符串(如ease、linear、ease-in、ease-out、ease-in-out、cubic-bezier)。speed为动画速度(单位ms)。

NProgress.configure({ease:'ease',speed:500});

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 使用手册(四)
Sep 23 Javascript
jquery中的 $(&quot;#jb51&quot;)与document.getElementById(&quot;jb51&quot;) 的区别
Jul 26 Javascript
用队列模拟jquery的动画算法实例
Jan 20 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
针对JavaScript中this指向的简单理解
Aug 26 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
Jul 14 Javascript
vue-infinite-loading2.0 中文文档详解
Apr 08 Javascript
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
JavaScript数组方法的错误使用例子
Sep 13 Javascript
微信小程序页面调用自定义组件内的事件详解
Sep 12 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
Feb 24 Javascript
JavaScript undefined及null区别实例解析
Jul 21 Javascript
vue开发拖拽进度条滑动组件
Sep 21 #Javascript
layui点击弹框页面 表单请求的方法
Sep 21 #Javascript
使用vue制作滑动标签
Sep 21 #Javascript
layui 数据表格+分页+搜索+checkbox+缓存选中项数据的方法
Sep 21 #Javascript
Vue插件之滑动验证码
Sep 21 #Javascript
Layui tree 下拉菜单树的实例代码
Sep 21 #Javascript
layui 图片上传+表单提交+ Spring MVC的实例
Sep 21 #Javascript
You might like
PHP开发中常用的8个小技巧
2008/08/27 PHP
PHP下判断网址是否有效的代码
2011/10/08 PHP
Javascript 中的 &amp;&amp; 和 || 使用小结
2010/04/25 Javascript
jquery 操作日期、星期、元素的追加的实现代码
2012/02/07 Javascript
jQuery $命名冲突解决方案汇总
2014/11/13 Javascript
Nodejs关于gzip/deflate压缩详解
2015/03/04 NodeJs
基于javascript bootstrap实现生日日期联动选择
2016/04/07 Javascript
jQuery使用Layer弹出层插件闪退问题
2016/12/22 Javascript
vue实现循环切换动画
2018/10/17 Javascript
一个小时快速搭建微信小程序的方法步骤
2019/04/15 Javascript
vue下使用nginx刷新页面404的问题解决
2019/08/02 Javascript
详解Nuxt.js 实战集锦
2019/11/19 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
[02:27]DOTA2英雄基础教程 莱恩
2014/01/17 DOTA
[37:45]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS Orenda
2014/05/22 DOTA
python单元测试unittest实例详解
2015/05/11 Python
用Python下载一个网页保存为本地的HTML文件实例
2018/05/21 Python
pyqt5 实现在别的窗口弹出进度条
2019/06/18 Python
python程序运行进程、使用时间、剩余时间显示功能的实现代码
2019/07/11 Python
Django 限制访问频率的思路详解
2019/12/24 Python
基于django micro搭建网站实现加水印功能
2020/05/22 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
可以随进度显示不同颜色的css3进度条分享
2014/04/11 HTML / CSS
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
LivingSocial爱尔兰:爱尔兰本地优惠
2018/08/10 全球购物
潘多拉珠宝美国官方网站:Pandora US
2020/06/18 全球购物
肯尼迪就职演说稿
2013/12/31 职场文书
校园广播稿100字
2014/10/06 职场文书
西湖英语导游词
2015/02/06 职场文书
公司2015年终工作总结
2015/05/26 职场文书
2015国庆节宣传语
2015/07/14 职场文书
教师学习中国梦心得体会
2016/01/05 职场文书
2016中秋节广告语
2016/01/28 职场文书
Python requests库参数提交的注意事项总结
2021/03/29 Python
python 实现德洛内三角剖分的操作
2021/04/22 Python
解析Redis Cluster原理
2021/06/21 Redis