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 相关文章推荐
浅谈Javascript事件处理程序的几种方式
Jun 27 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
JavaScript中的继承方式详解
Feb 11 Javascript
JavaScript前端开发之实现二进制读写操作
Nov 04 Javascript
jQuery绑定自定义事件的魔法升级版
Jun 30 Javascript
浅述节点的创建及常见功能的实现
Dec 15 Javascript
javascript事件的绑定基础实例讲解(34)
Feb 14 Javascript
JS验证码实现代码
Sep 14 Javascript
微信小程序实现图片懒加载的示例代码
Dec 13 Javascript
JS求Number类型数组中最大元素方法
Apr 08 Javascript
浅谈Vue路由快照实现思路及其问题
Jun 07 Javascript
vue实现商品加减计算总价的实例代码
Aug 12 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 smarty模版引擎中变量操作符及使用方法
2009/12/11 PHP
PHP 日,周,月点击排行统计
2012/01/11 PHP
php在项目中寻找代码的坏味道(综艺命名)
2012/07/19 PHP
CURL状态码列表(详细)
2013/06/27 PHP
PHP程序员必须知道的两种日志实例分析
2020/05/14 PHP
Javascript 面向对象 继承
2010/05/13 Javascript
基于Jquery的文字滚动跑马灯插件(一个页面多个滚动区)
2010/07/26 Javascript
js整数字符串转换为金额类型数据(示例代码)
2013/12/26 Javascript
node.js回调函数之阻塞调用与非阻塞调用
2015/11/13 Javascript
JQuery DIV 动态隐藏和显示的方法
2016/06/23 Javascript
分享JS代码实现鼠标放在输入框上输入框和图片同时更换样式
2016/09/01 Javascript
鼠标经过出现气泡框的简单实例
2017/03/17 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
详解使用React进行组件库开发
2018/02/06 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
[09:40]DAC2018 4.5 SOLO赛 MidOne vs Miracle
2018/04/06 DOTA
[01:28]国服启动器接入蒸汽平台操作流程视频
2021/03/11 DOTA
Python中实现两个字典(dict)合并的方法
2014/09/23 Python
Python基于回溯法子集树模板解决数字组合问题实例
2017/09/02 Python
Python实现的多线程同步与互斥锁功能示例
2017/11/30 Python
Python实现基于C/S架构的聊天室功能详解
2018/07/07 Python
Python整数对象实现原理详解
2019/07/01 Python
python禁用键鼠与提权代码实例
2019/08/16 Python
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
兼职业务员岗位职责
2014/01/01 职场文书
银行学习十八大感想
2014/01/11 职场文书
写得不错的求职信范文
2014/07/11 职场文书
人事行政专员岗位职责
2014/07/23 职场文书
本溪水洞导游词
2015/02/11 职场文书
2015年学校关工委工作总结
2015/04/03 职场文书
紧急通知
2015/04/17 职场文书
2015年手术室工作总结
2015/05/11 职场文书
python读取并查看npz/npy文件数据以及数据显示方法
2022/04/14 Python
Android开发手册自定义Switch开关按钮控件
2022/06/10 Java/Android