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图片放大功能简单实现
Aug 01 Javascript
JavaScript整除运算函数ceil和floor的区别分析
Apr 14 Javascript
浏览器中url存储的JavaScript实现
Jul 07 Javascript
jQuery实现的淡入淡出二级菜单效果代码
Sep 15 Javascript
浅谈JavaScript中小数和大整数的精度丢失
May 31 Javascript
node.js中module.exports与exports用法上的区别
Sep 02 Javascript
jquery对Json的各种遍历方法总结(必看篇)
Sep 29 Javascript
Vue+Element UI+Lumen实现通用表格分页功能
Feb 02 Javascript
node之本地服务器图片上传的方法示例
Mar 26 Javascript
js神秘的电报密码 哈弗曼编码实现
Sep 10 Javascript
Vue 利用指令实现禁止反复发送请求的两种方法
Sep 15 Javascript
vue实现匀速轮播效果
Jun 29 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管理内存函数 memory_get_usage()使用介绍
2012/09/23 PHP
PHP return语句另类用法不止是在函数中
2014/09/17 PHP
php实现微信公众号主动推送消息
2015/12/31 PHP
PHP简单实现文本计数器的方法
2016/04/28 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
2017/04/05 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
PHP正则匹配到2个字符串之间的内容方法
2018/12/24 PHP
JavaScript中的View-Model使用介绍
2011/08/11 Javascript
js 赋值包含单引号双引号问题的解决方法
2014/02/26 Javascript
javascript原生和jquery库实现iframe自适应高度和宽度
2014/07/18 Javascript
Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例
2015/01/01 NodeJs
简单实现jQuery进度条轮播实例代码
2016/06/20 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
react 应用多入口配置及实践总结
2018/10/17 Javascript
Angular 多模块项目构建过程
2020/02/13 Javascript
js实现抽奖的两种方法
2020/03/19 Javascript
Python的迭代器和生成器使用实例
2015/01/14 Python
Python标准库之Sys模块使用详解
2015/05/23 Python
python获取指定路径下所有指定后缀文件的方法
2015/05/26 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
详解Python使用Plotly绘图工具,绘制甘特图
2019/04/02 Python
10行Python代码实现Web自动化管控的示例代码
2020/08/14 Python
matplotlib之属性组合包(cycler)的使用
2021/02/24 Python
pytorch __init__、forward与__call__的用法小结
2021/02/27 Python
使用javascript和HTML5 Canvas画的四渐变色播放按钮效果
2014/04/10 HTML / CSS
JustFab加拿大:女鞋、靴子、手袋和服装在线
2018/05/18 全球购物
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
护理自我鉴定范文
2013/10/06 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
健康教育评估方案
2014/05/25 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
酒店优秀员工推荐信
2015/03/24 职场文书
全国助残日活动总结
2015/05/11 职场文书
房屋维修申请报告
2015/05/18 职场文书
使用pytorch实现线性回归
2021/04/11 Python
mysql 乱码 字符集latin1转UTF8
2022/04/19 MySQL