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 播放器 控制
Jan 22 Javascript
jQuery 在光标定位的地方插入文字的插件
May 10 Javascript
jquery阻止后续事件只执行第一个事件
Jul 24 Javascript
jquery实现页面虚拟键盘特效
Aug 08 Javascript
javascript跨域的方法汇总
Oct 23 Javascript
javascript 操作cookies详解及实例
Feb 22 Javascript
Bootstrap标签页(Tab)插件使用方法
Mar 21 Javascript
基于vue-cli 打包时抽离项目相关配置文件详解
Mar 07 Javascript
vue组件详解之使用slot分发内容
Apr 09 Javascript
vue项目中仿element-ui弹框效果的实例代码
Apr 22 Javascript
微信小程序实现下拉刷新动画
Jun 21 Javascript
vue判断按钮是否可以点击
Apr 09 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
1982年日本摄影师镜头下的中国孩子 那无忧无虑的童年
2020/03/12 杂记
PHP 开发者该知道的 5 个 Composer 小技巧
2016/02/03 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jquery validate使用攻略 第四步
2010/07/01 Javascript
javascript与jquery中跳出循环的区别总结
2013/11/04 Javascript
jQuery setTimeout传递字符串参数报错的解决方法
2014/06/09 Javascript
JS瀑布流实现方法实例分析
2016/12/19 Javascript
js中字符型和数值型数字的互相转化方法(必看)
2017/04/25 Javascript
jQuery实现所有验证通过方可提交的表单验证
2017/11/21 jQuery
浅析Angular19 自定义表单控件
2018/01/31 Javascript
详解vue中组件参数
2018/07/09 Javascript
搭建vue开发环境
2018/07/19 Javascript
JavaScript实现选项卡效果的分析及步骤
2019/04/16 Javascript
Vue CLI3创建项目部署到Tomcat 使用ngrok映射到外网
2019/05/16 Javascript
js getBoundingClientRect使用方法详解
2019/07/17 Javascript
基于canvasJS在PHP中制作动态图表
2020/05/30 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
PyTorch搭建多项式回归模型(三)
2019/05/22 Python
Python爬虫抓取技术的一些经验
2019/07/12 Python
Python Django 封装分页成通用的模块详解
2019/08/21 Python
Python Selenium参数配置方法解析
2020/01/19 Python
python print 格式化输出,动态指定长度的实现
2020/04/12 Python
python pymysql链接数据库查询结果转为Dataframe实例
2020/06/05 Python
PatPat阿根廷:妈妈们的购物平台
2019/05/30 全球购物
法国房车租赁网站:Yescapa
2019/08/26 全球购物
俄罗斯便宜的在线服装商店:GroupPrice
2020/04/10 全球购物
应用电子技术专业个人求职信
2013/09/21 职场文书
打架检讨书300字
2014/02/02 职场文书
国庆节标语大全
2014/10/08 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
学校师德师风整改措施
2014/10/27 职场文书
听证通知书
2015/04/24 职场文书
Mac环境Nginx配置和访问本地静态资源的实现
2021/03/31 Servers
React forwardRef的使用方法及注意点
2021/06/13 Javascript
在NumPy中深拷贝和浅拷贝相关操作的定义和背后的原理
2022/04/14 Python
Win11运行cmd提示“请求的操作需要提升”的两种解决方法
2022/07/07 数码科技