公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:xttblog2,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:xttblog2,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
腾讯云】1核2G5M轻量应用服务器50元首年,高性价比,助您轻松上云
如果你登录谷歌的广告联盟,你就会发现它所采用的进度条和我们常见的不太一样。它在页面的最上面top部分,有一个线条在进行加载,我们俗称它为页面加载进度条。本文将借助 jQuery 的 NProgress.js 插件来模仿它。
NProgress.js提供页面加载进度条效果,当页面打开加载时,在页面顶部会出现进度条加载动画。NProgress.js是轻量级的进度条组件,使用简便,可以很方便集成到单页面应用中。
下面是 NProgress.js 的4个主要函数:
- NProgress.start() ? 显示进度条
- NProgress.set(0.4) ? 设置百分比
- NProgress.inc() ? 一个小增量
- NProgress.done() ? 完成进度
安装
$ npm install --save nprogress
或者直接引用 nprogress.js 和nprogress.css 文件到你的页面中。
<script src='nprogress.js'></script> <link rel='stylesheet' href='nprogress.css'/>
下面是 NProgress.js 的一些基本的配置:
Progress.configure({
minimum: 0.1,
template: "...",//标记修改
ease: 'ease',//动画设置
speed: 500,//动画速度
trickle: false,//关闭进度条
trickleRate: 0.02,//每次步进增长多少
trickleSpeed: 800,//步进间隔,单位毫秒ms
showSpinner: false//禁用进度环
});
nprogress.js 的用法很简单,只需要掌握下面的几个函数即可。
NProgress.start(); // 开始加载 NProgress.done(); // 加载完成 NProgress.set(0.0); // Sorta same as .start() NProgress.set(0.4); NProgress.set(1.0); // Sorta same as .done() NProgress.inc(); // 递增 NProgress.done(true); // 强制完成
下面看一个完整的例子:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>业余草:NProgress.JS-页面加载进度条</title>
<link rel="stylesheet" href="//cdn.bootcss.com/bootstrap/3.3.5/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/demo.css">
<link rel="stylesheet" type="text/css" href="css/nprogress.css">
</head>
<body>
<div class="container">
<div class="row main">
<div class="col-md-12">
<div class="row" style="margin-top: 30px">
<div class="col-md-offset-2 col-sm-12">
<p>Ajax异步加载,注意看页面顶部进度条</p><br/>
<button class="btn btn-info" id="loading">点击加载远程数据</button>
<div id="msg" style="margin: 10px; color: #f60"></div>
</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>
<script src="js/nprogress.js"></script>
<script>
NProgress.start();
setTimeout(function() { NProgress.done(); }, 1000);
//业余草:www.xttblog.com
$('#loading').on('click', function(event) {
event.preventDefault();
//NProgress.configure({ trickle: false });
NProgress.start();
$.get('data.php', function(data) {
$('#msg').html(data);
NProgress.done();
});
//业余草:www.xttblog.com
});
</script>
</body>
</html>
以上就是 NProgress.js 的相关教程,如有不懂,请留言讨论!

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号:xttblog2。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!
本文原文出处:业余草: » 基于jQuery的页面加载进度条nprogress.js使用教程