zoukankan      html  css  js  c++  java
  • pace.js和NProgress.js两个加载进度插件的一点小总结

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

    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;
         100px;
      }
    
      .card {
        background-color: #f7f7f7;
        padding: 20px 25px 15px;
        margin: 0 auto 25px;
         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的优点有直接引入文件就可以了,不需要在自己写任何代码,就自带了加载进度动画,只是有一个缺点,官网提供的加载进度动画都没有遮罩层。

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

  • 相关阅读:
    Vue 全局过滤器和局部过滤器使用方式
    Vue 标签显示/隐藏的方式对比demo
    OpenSSL SSL_read: Connection was reset, errno 10054
    Vue 自定义全局指令和局部指令demo
    Vue 列表渲染demo
    Vue Class样式和style样式编写
    vue中的函数(methods),计算属性(computed),监听器(watch)的区别demo
    Vue 常用指令
    针对 WebSocket 协议的 Locust 压测脚本实现(基于 Locust 1.0 以上版本)
    Locust 脚本开发入门(4)
  • 原文地址:https://www.cnblogs.com/xuange306/p/5122451.html
Copyright © 2011-2022 走看看