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 firefox兼容ie的dom方法脚本
May 18 Javascript
获取网站跟路径的javascript代码(站点及虚拟目录)
Oct 20 Javascript
javascript+css 网页每次加载不同样式的实现方法
Dec 27 Javascript
13个绚丽的Jquery 界面设计网站推荐
Sep 28 Javascript
jquery下checked取值问题的解决方法
Aug 09 Javascript
js弹出层(jQuery插件形式附带reLoad功能)
Apr 12 Javascript
JavaScript调试的多个必备小Tips
Jan 15 Javascript
Vue 进入/离开动画效果
Dec 26 Javascript
解决vue 更改计算属性后select选中值不更改的问题
Mar 02 Javascript
Vue 第三方字体图标引入 Font Awesome的方法
Sep 28 Javascript
浅谈开发eslint规则
Oct 01 Javascript
vue-cli 构建骨架屏的方法示例
Nov 08 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 include的妙用,实现路径加密
2008/07/29 PHP
php读取图片内容并输出到浏览器的实现代码
2013/08/08 PHP
PHP命令行脚本接收传入参数的三种方式
2014/08/20 PHP
PHP判断函数是否被定义的方法
2019/06/21 PHP
可实现多表单提交的javascript函数
2007/08/01 Javascript
通过 Dom 方法提高 innerHTML 性能
2008/03/26 Javascript
javascript 基础篇1 什么是js 建立第一个js程序
2012/03/14 Javascript
IE6浏览器下resize事件被执行了多次解决方法
2012/12/11 Javascript
javascript实现验证身份证号的有效性并提示
2015/04/30 Javascript
Bootstrap基础学习
2015/06/16 Javascript
jQuery中$.extend()用法实例
2015/06/24 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
详解JavaScript的AngularJS框架中的表达式与指令
2016/03/05 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
JS中setTimeout和setInterval的最大延时值详解
2017/02/13 Javascript
浅析为什么a=&quot;abc&quot; 不等于 a=new String(&quot;abc&quot;)
2017/10/25 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
基于jquery实现彩色投票进度条代码解析
2020/08/26 jQuery
uni-app实现获取验证码倒计时功能
2020/11/01 Javascript
[01:45]绝对公平!DOTA2队长征召模式详解
2014/04/25 DOTA
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
简介Python中用于处理字符串的center()方法
2015/05/18 Python
浅谈python 四种数值类型(int,long,float,complex)
2016/06/08 Python
常见的python正则用法实例讲解
2016/06/21 Python
Python读写zip压缩文件的方法
2018/08/29 Python
Python列表切片操作实例总结
2019/02/19 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
python 实现二维字典的键值合并等函数
2019/12/06 Python
荷兰优雅女装网上商店:Heine
2016/11/14 全球购物
土地转让协议书范本
2014/04/15 职场文书
四年级评语大全
2014/04/21 职场文书
运动会方阵口号
2014/06/07 职场文书
人力资源职位说明书
2014/07/29 职场文书
2014年出纳工作总结与计划
2014/12/09 职场文书
教师节主题班会教案
2015/08/17 职场文书