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 相关文章推荐
js右键菜单效果代码
Jul 21 Javascript
Javascript select下拉框操作常用方法
Nov 09 Javascript
javascript实现对表格元素进行排序操作
Nov 18 Javascript
深入理解JQuery循环绑定事件
Jun 02 Javascript
jQuery滑动到底部加载下一页数据的实例代码
May 22 jQuery
JavaScript伪数组用法实例分析
Dec 22 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
Node.js实现简单的爬取的示例代码
Jun 25 Javascript
Bootstrap告警框(alert)实现弹出效果和短暂显示后上浮消失的示例代码
Aug 27 Javascript
Vue3 响应式侦听与计算的实现
Nov 11 Javascript
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
浅谈JS的二进制家族
May 09 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
PHP4和PHP5性能测试和对比 测试代码与环境
2007/08/17 PHP
PHP通过内置函数memory_get_usage()获取内存使用情况
2014/11/20 PHP
PHP的PDO操作简单示例
2016/03/30 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
PHP使用微信开发模式实现搜索已发送图文及匹配关键字回复的方法
2017/09/13 PHP
php文件包含的几种方式总结
2019/09/19 PHP
Jquery从头学起第四讲 jquery入门教程
2010/08/01 Javascript
JS 修改URL参数(实现代码)
2013/07/08 Javascript
jQuery实现的图片分组切换焦点图插件
2015/01/06 Javascript
Javascript中的getUTCHours()方法使用详解
2015/06/10 Javascript
微信小程序 loading(加载中提示框)实例
2016/10/28 Javascript
微信小程序 页面跳转传参详解
2016/10/28 Javascript
COM组件中调用JavaScript函数详解及实例
2017/02/23 Javascript
nodejs服务搭建教程 nodejs访问本地站点文件
2017/04/07 NodeJs
WebStorm ES6 语法支持设置&amp;babel使用及自动编译(详解)
2017/09/08 Javascript
jquery使用FormData实现异步上传文件
2018/10/25 jQuery
vue项目中使用vue-i18n报错的解决方法
2019/01/13 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
javascript中的数据类型检测方法详解
2019/08/07 Javascript
layer弹出层自定义提交取消按钮的例子
2019/09/10 Javascript
js 计数排序的实现示例(升级版)
2020/01/12 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
python控制台中实现进度条功能
2015/11/10 Python
python中实现精确的浮点数运算详解
2017/11/02 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
python获取中文字符串长度的方法
2018/11/14 Python
解决keras模型保存h5文件提示无此目录问题
2020/07/01 Python
马来西亚银饰品牌:JEOEL
2017/12/15 全球购物
广告学毕业生求职信
2014/01/30 职场文书
继承权公证书
2014/04/09 职场文书
优秀大学生求职自荐信范文
2014/04/19 职场文书
《美丽的丹顶鹤》教学反思
2014/04/22 职场文书
先进个人总结范文
2015/02/15 职场文书
起诉书范文
2015/05/20 职场文书
2015年度优秀员工获奖感言
2015/07/31 职场文书
Web应用开发TypeScript使用详解
2022/05/25 Javascript