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

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

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

 

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">
 <script src="js/NProgress.js" type="text/javascript"></script>
//还有jquery要引入进来

    使用:

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

  自定义动画样式:

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

<script type="text" id="myId">
  <div class="splash card">
  <p class="lead" style="text-align:center">不要回来,马上走开...</p>
      <div class="progress">
          <div class="mybar" role="bar">
          </div>
      </div>
  </div>
</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">
  <div class="bar" role="bar" style="display=block">
    <div class="peg"></div>
  </div>
  <div class="spinner" role="spinner">
    <div class="spinner-icon"></div>
  </div>
</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" />  
  <!-- 此处的css样式就决定了加载进度动画的样式 --> </head>

 

     改变动画样式:

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

    总结:

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

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

 

目录
相关文章
|
18天前
|
缓存 JavaScript 前端开发
高效打造跨平台桌面应用:Electron加载服务器端JS
【9月更文挑战第17天】Electron 是一个基于 Chromium 和 Node.js 的开源框架,允许使用 HTML、CSS 和 JavaScript 构建跨平台桌面应用。加载服务器端 JS 可增强应用灵活性,实现代码复用、动态更新及实时通信。通过 HTTP 请求、WebSocket 或文件系统可实现加载,但需注意安全性、性能和兼容性问题。开发者应根据需求选择合适方法并谨慎实施。
|
2月前
|
编解码 JavaScript 前端开发
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
JS逆向浏览器脱环境专题:事件学习和编写、DOM和BOM结构、指纹验证排查、代理自吐环境通杀环境检测、脱环境框架、脱环境插件解决
58 1
|
2月前
|
编解码 缓存 算法
Three.js如何降低3D模型的大小以便更快加载
为加快600MB的3D模型在Three.js中的加载速度,可采用多种压缩方法:1) 减少顶点数,使用简化工具或LOD技术;2) 压缩纹理,降低分辨率或转为KTX2等格式;3) 采用高效文件格式如glTF 2.0及draco压缩;4) 合并材质减少数量;5) 利用Three.js内置优化如BufferGeometry;6) 按需分批加载模型;7) Web Workers后台处理;8) 多模型合并减少绘制;9) 使用Texture Atlas及专业优化工具。示例代码展示了使用GLTFLoader加载优化后的模型。
235 12
|
2月前
|
JavaScript 前端开发 测试技术
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
[译] 用 Vue.js 3 Composition API 创建 i18n 插件
|
2月前
|
前端开发 JavaScript Linux
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
【Azure 应用服务】在Azure App Service for Linux环境中,部署的Django应用,出现加载css、js等静态资源文件失败
|
2月前
|
JavaScript 前端开发
JavaScript引入全攻略:提升网页加载速度的秘诀!
JavaScript引入全攻略:提升网页加载速度的秘诀!
|
3月前
|
JavaScript 前端开发 API
Chrome插件实现问题之 content_script.js能做什么
Chrome插件实现问题之 content_script.js能做什么
|
2月前
|
资源调度 JavaScript 前端开发
如何大幅减少 Vue.js 中的包大小和加载时间,提升用户体验!
如何大幅减少 Vue.js 中的包大小和加载时间,提升用户体验!
|
3月前
|
JavaScript
js好用的动态分页插件
js好用的动态分页插件是一款简单的分页样式插件,支持样式类型,当前页,每页显示数量,按钮数量,总条数,上一页文字,下一页文字,输入框跳转等功能。
34 1
|
3月前
|
监控 JavaScript 前端开发
Node中的AsyncLocalStorage 使用问题之Node.js内部模块和外部模块的加载的问题如何解决
Node中的AsyncLocalStorage 使用问题之Node.js内部模块和外部模块的加载的问题如何解决
下一篇
无影云桌面