如果你登录谷歌的广告联盟,你就会发现它所采用的进度条和我们常见的不太一样。它在页面的最上面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 的相关教程,如有不懂,请留言讨论!
: » 基于jQuery的页面加载进度条nprogress.js使用教程
原创文章,作者:254126420,如若转载,请注明出处:https://blog.ytso.com/251283.html