pace.js和NProgress.js两个加载进度插件的一点小总结


Posted in Javascript onJanuary 31, 2018

这两个插件都是关于加载进度动画的,应该说各有特点吧,最起码对我来说是各有优势的。今天一天就捣鼓了加载进度动画,也研究了大量的(也就这两个)加载进度动画,也算对加载进度动画有了一个初步的了解了吧。

NProgress.js

NProgress是基于jquery的,且版本要 >1.8

API:

 

NProgress.start() — 启动进度条

NProgress.set(0.4) — 将进度设置到具体的百分比位置

NProgress.inc() — 少量增加进度

NProgress.done() — 将进度条标为完成状态

引入:

<link rel="stylesheet" type="text/css" href="css/NProgress.css" rel="external nofollow" >
 <script src="js/NProgress.js" type="text/javascript"></script><br>//还有jquery要引入进来

使用:

<script>
$(function() {
 NProgress.start();
 
$(window).load(function() {
 
NProgress.done();
 });
</script>

自定义动画样式:

将我们定义的样式写到一个script标签里,这算是一个小技巧吧。

<script type="text" id="myId"><br><div class="splash card"><br> 
<p class="lead" style="text-align:center">不要回来,马上走开...</p>

 <div class="progress">
 
<div class="mybar" role="bar">
 
</div>
 
</div>
</div><br></script>

这是css

html,body,iframe{
 margin: 0;
 padding: 0;
}
#nprogress{
 position: fixed;
 top: 0;
 right: 0;
 bottom: 0;
 left: 0;
 background-color: #f7f7f7;
 z-index: 999;
}
.spinner-icon{
 display: none!important;
}
.splash {
 position:absolute;
 top:40%;
 left:0;
 right:0;
 margin: auto;
 }
 .splash img {
 display: block;
 margin-left: auto;
 margin-right: auto;
 height: 100px;
 width: 100px;
 }
 .card {
 background-color: #f7f7f7;
 padding: 20px 25px 15px;
 margin: 0 auto 25px;
 width: 380px;
 }
 .mybar {
 background: #29d;
 height:10px;
 }
 .progress {
 height: 10px;
 overflow: hidden;
 }

js代码变成了这样:

<script type="text/javascript">
 $(function(){
  NProgress.configure({
  template: $('#myId').html() // template是用来设置动画样式的属性
  });
  NProgress.start();
 });
 $(window).load(function(){
  NProgress.done();
 })
 </script>

总结:在js里控制动画什么时候开始,什么时候结束,已及加载的动画样式。

在自定义样式里关键的两个指针就是  role 属性:

role=bar :横向加载条

role=spinner 旋转的小圈

样例2:(省略了css)

<script type="text" id="myId">
<em id="__mceDel"><em id="__mceDel"><div class="bar" role="bar" style="display=block"><br>

<div class="peg"></div><br>
</div><br>
<div class="spinner" role="spinner"><br>

<div class="spinner-icon"></div><br>
</div></em></em>
</script>

pace.js:

API:

Pace.start:开始显示进度条,如果你不是使用AMD或者Browserify来加载模块的话,这个会默认执行。
Pace.restart:进度条重新加载以及显示。
Pace.stop:隐藏进度条以及停止加载。
Pace.track:监测一个或者多个请求任务。
Pace.ignore:忽略一个或者多个请求任务。 

用法:

<head>
 <script src="/pace/pace.js"></script>
 <link href="/pace/themes/pace-theme-barber-shop.css" rel="external nofollow" rel="stylesheet" /> <br><!-- 此处的css样式就决定了加载进度动画的样式 -->
</head>

改变动画样式:

pace里已经设计好了许多种加载进度动画,只需要变化css文件就可以了

总结:

pace的优点有直接引入文件就可以了,不需要在自己写任何代码,就自带了加载进度动画,只是有一个缺点,官网提供的加载进度动画都没有遮罩层。

当然,可以自己进行设置(我不会);

以上所述是小编给大家介绍的pace.js和NProgress.js两个加载进度插件的一点小总结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
在JavaScript中遭遇级联表达式陷阱
Mar 08 Javascript
javascript 解析后的xml对象的读取方法细解
Jul 25 Javascript
在Ajax中使用Flash实现跨域数据读取的实现方法
Dec 02 Javascript
Javascript将string类型转换int类型
Dec 09 Javascript
JS预览图像将本地图片显示到浏览器上
Aug 25 Javascript
浅谈Jquery核心函数
Jun 18 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
Jan 10 Javascript
前端编码规范(3)JavaScript 开发规范
Jan 21 Javascript
详解如何使用webpack在vue项目中写jsx语法
Nov 08 Javascript
解决layui下拉框监听问题(监听不到值的变化)
Sep 28 Javascript
小程序实现横向滑动日历效果
Oct 21 Javascript
javascript中Set、Map、WeakSet、WeakMap区别
Dec 24 Javascript
微信小程序App生命周期详解
Jan 31 #Javascript
jQuery NProgress.js加载进度插件的简单使用方法
Jan 31 #jQuery
微信小程序switch组件使用详解
Jan 31 #Javascript
vue项目中导入swiper插件的方法
Jan 30 #Javascript
微信小程序实现手势图案锁屏功能
Jan 30 #Javascript
简单理解Vue中的nextTick方法
Jan 30 #Javascript
Vue组件中slot的用法
Jan 30 #Javascript
You might like
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
CodeIgniter配置之database.php用法实例分析
2016/01/20 PHP
微信 开发生成带参数的二维码的实例
2016/11/23 PHP
PHP精确计算功能示例
2016/11/29 PHP
PHP面向对象程序设计OOP继承用法入门示例
2016/12/27 PHP
php简单随机字符串生成方法示例
2017/04/19 PHP
jQuery 学习入门篇附实例代码
2010/03/16 Javascript
打印json对象的内容及JSON.stringify函数应用
2013/03/29 Javascript
JQuery弹出层示例可自定义
2014/05/19 Javascript
jQuery内置的AJAX功能和JSON的使用实例
2014/07/27 Javascript
纯JavaScript实现的兼容各浏览器的添加和移除事件封装
2015/03/28 Javascript
jQuery右侧选项卡焦点图片轮播特效代码分享
2015/09/05 Javascript
分享网页检测摇一摇实例代码
2016/01/14 Javascript
javascript常见数字进制转换实例分析
2016/04/21 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
Angular.js中ng-if、ng-show和ng-hide的区别介绍
2017/01/20 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
layer.open 获取不到表单信息的解决方法
2019/09/26 Javascript
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
[50:59]2018DOTA2亚洲邀请赛 4.7 总决赛 LGD vs Mineski第四场
2018/04/10 DOTA
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
python使用selenium登录QQ邮箱(附带滑动解锁)
2019/01/23 Python
Django高级编程之自定义Field实现多语言
2019/07/02 Python
对pytorch中的梯度更新方法详解
2019/08/20 Python
linux面试题参考答案(5)
2016/11/05 面试题
大学生职业规划论文
2014/01/11 职场文书
2014年大学生自我评价
2014/01/19 职场文书
医疗纠纷协议书
2014/04/16 职场文书
简洁的英文求职信范文
2014/05/03 职场文书
2014年安全生产大检查方案
2014/05/13 职场文书
办理信用卡收入证明范例
2014/09/13 职场文书
典型事迹材料范文
2014/12/29 职场文书
Python实现机器学习算法的分类
2021/06/03 Python
python用海龟绘图写贪吃蛇游戏
2021/06/18 Python
KVM基础命令详解
2022/04/30 Servers