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 onkeydown,onkeyup,onkeypress,onclick,ondblclick
Feb 04 Javascript
jQuery.autocomplete 支持中文输入(firefox)修正方法
Mar 10 Javascript
Prototype源码浅析 Enumerable部分(二)
Jan 18 Javascript
六款帮助你实现惊艳视差滚动效果的jQuery插件
Sep 14 Javascript
javascript中style.left和offsetLeft的用法说明
Mar 07 Javascript
JQuery自动触发事件的方法
Jun 13 Javascript
使用jQuery在对象中缓存选择器的简单方法
Jun 30 Javascript
Js获取当前日期时间及格式化代码
Sep 17 Javascript
JavaScript简单验证表单空值及邮箱格式的方法
Jan 20 Javascript
vue axios 二次封装的示例代码
Dec 08 Javascript
OpenLayers3实现地图显示功能
Sep 25 Javascript
JavaScript使用setTimeout实现倒计时效果
Feb 19 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
使用Xdebug调试和优化PHP程序之[1]
2007/04/17 PHP
PHP中使用php://input处理相同name值的表单数据
2015/02/03 PHP
Laravel 5框架学习之Blade 简介
2015/04/08 PHP
ZF框架实现发送邮件的方法
2015/12/03 PHP
php常用字符函数实例小结
2016/12/29 PHP
php文件上传类的分享
2017/07/06 PHP
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
2013/02/05 Javascript
javascript获取xml节点的最大值(实现代码)
2013/12/11 Javascript
基于JavaScript实现TAB标签效果
2016/01/12 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
Bootstrap页面标题Page Header的实现方法
2017/03/22 Javascript
Vue组件之全局组件与局部组件的使用详解
2017/10/09 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
基于Bootstrap下拉框插件bootstrap-select使用方法详解
2018/08/07 Javascript
让webpack+vue-cil项目不再自动打开浏览器的方法
2018/09/27 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
2019/04/09 Javascript
jquery实现有过渡效果的tab切换
2020/07/17 jQuery
[01:42]DOTA2 – 虚无之灵
2019/08/25 DOTA
python3编码问题汇总
2016/09/06 Python
python中如何使用朴素贝叶斯算法
2017/04/06 Python
Python实现针对中文排序的方法
2017/05/09 Python
python3大文件解压和基本操作
2017/12/15 Python
python3爬取各类天气信息
2018/02/24 Python
python查看文件大小和文件夹内容的方法
2019/07/08 Python
Django微信小程序后台开发教程的实现
2020/06/03 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
纯CSS和jQuery实现的在页面顶部显示的进度条效果2例(仿手机浏览器进度条效果)
2014/04/16 HTML / CSS
使用CSS3实现多列布局与多背景的技巧
2016/02/29 HTML / CSS
浅析HTML5 Landmark
2020/09/11 HTML / CSS
主持人演讲稿
2014/05/13 职场文书
经理岗位职责
2015/02/02 职场文书
毕业生政审意见范文
2015/06/04 职场文书
订货会主持词
2015/07/01 职场文书
2015教师个人年度工作总结
2015/10/23 职场文书
2019自荐信范文集锦!
2019/07/03 职场文书
【海涛教你打DOTA】死灵飞龙第一视角解说
2022/04/01 DOTA