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的一些看法
May 27 Javascript
Jquery 获取对象的几种方式介绍
Jan 17 Javascript
javascript跨浏览器的属性判断方法
Mar 16 Javascript
详谈jQuery中的this和$(this)
Nov 13 Javascript
js打造数组转json函数
Jan 14 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
Jan 04 Javascript
jQuery form 表单验证插件(fieldValue)校验表单
Jan 24 Javascript
angularjs 实现带查找筛选功能的select下拉框实例
Jan 11 Javascript
AngularJS入门教程一:路由用法初探
May 27 Javascript
jQuery实现基本隐藏与显示效果的方法详解
Sep 05 jQuery
一步一步的了解webpack4的splitChunk插件(小结)
Sep 17 Javascript
vue实现可拖拽的dialog弹框
May 13 Vue.js
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日期转时间戳,指定日期转换成时间戳
2012/07/17 PHP
PHP APC的安装与使用详解
2013/06/13 PHP
php代码书写习惯优化小结
2013/06/20 PHP
支持中文的PHP按字符串长度分割成数组代码
2015/05/17 PHP
php读取XML的常见方法实例总结
2017/04/25 PHP
Laravel中获取路由参数Route Parameters的五种方法示例
2017/09/29 PHP
JavaScript 开发规范要求(图文并茂)
2010/06/11 Javascript
文本框input聚焦失焦样式实现代码
2012/10/12 Javascript
查看大图功能代码jquery版
2013/11/05 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
javascript精确统计网站访问量实例代码
2015/12/19 Javascript
JavaScript中Object.prototype.toString方法的原理
2016/02/24 Javascript
浅谈DOCTYPE对$(window).height()取值的影响
2016/07/21 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
2016/12/26 Javascript
用户管理的设计_jquery的ajax实现二级联动效果
2017/07/13 jQuery
vue 2.x 中axios 封装的get 和post方法
2018/02/28 Javascript
微信小程序新手教程之页面打开数量限制
2019/03/03 Javascript
构建大型 Vue.js 项目的10条建议(小结)
2019/11/14 Javascript
Jquery滑动门/tab切换实现方法完整示例
2020/06/05 jQuery
Python IDE环境之 新版Pycharm安装详细教程
2020/03/05 Python
python实现UDP协议下的文件传输
2020/03/20 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
python中reload重载实例用法
2020/12/15 Python
Python 虚拟环境工作原理解析
2020/12/24 Python
鞋子女王塔玛拉·梅隆同名奢侈品牌:Tamara Mellon
2017/11/22 全球购物
美国50岁以上单身人士约会平台:SilverSingles
2018/06/29 全球购物
C语言编程练习
2012/04/02 面试题
一些关于MySql加速和优化的面试题
2014/01/30 面试题
怎样写演讲稿
2014/01/04 职场文书
syb养殖创业计划书
2014/01/09 职场文书
员工离职证明范本
2015/06/12 职场文书
Python数据类型最全知识总结
2021/05/31 Python
企业版Windows 11有哪些新功能? Win11适用于企业的功能介绍
2021/11/21 数码科技
PyCharm 配置SSH和SFTP连接远程服务器
2022/05/11 Python
Linux下搭建SFTP服务器的命令详解
2022/06/25 Servers