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;
    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的優點有直接引入文件就可以了,不需要在自己寫任何代碼,就自帶了加載進度動畫,只是有一個缺點,官網提供的加載進度動畫都沒有遮罩層。

      當然,可以自己進行設置(我不會);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM