整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          NProgress.js,一款神奇的 JavaScr

          NProgress.js,一款神奇的 JavaScript 開源庫-頁面進度條


          ithub Star: 26k[1] 官網[2]

          NProgress 是什么?

          NProgress.js 是一個輕量級的 JavaScript 庫,用于在應用的頁面頂部顯示一個進度條,指示頁面加載或異步操作的進度。它非常適合用于單頁面應用程序(SPA),能夠在路由變化時給用戶友好的加載提示。本文是 NProgress.js 的基本使用方法和一些配置選項的詳細介紹。

          快速開始

          安裝和引入

          NProgress.js 支持管理工具 npmyarn 安裝,也支持 CDN 引入。

          npm install nprogress -S
          #
          yarn add nprogress

          引入時,別忘了引入 nprogress.css 樣式文件

          啟動和結束進度條

          NProgress.start(); // 啟動進度條
          NProgress.done(); // 結束進度條

          設置進度

          NProgress.set(0.4); // 設置進度至 40%

          設置進度百分比,參數取值 0 ~ 1 之間。如果傳 0 類似于調用 .start(),傳 1 類似于調用 .done() 方法。

          遞增進度條

          NProgress.inc(); // 隨機遞增進度條
          NProgress.inc(0.2); // 以 0.2 的值遞增進度條

          遞增進度條,以隨機量增加,永遠不會到達 100%。

          配置選項

          NProgress.configure({
            easing: 'ease', // 動畫方式
            speed: 500, // 遞增進度條的速度
            showSpinner: false, // 是否顯示加載指示器
            trickle: false, // 是否開啟自動遞增行為
            trickleSpeed: 200, // 自動遞增間隔
            minimum: 0.3, // 更改啟動時使用的最小百分比
            parent: 'body', // 指定進度條的父容器
            barSelector: '[role="bar"]', // 進度條選擇器
            spinnerSelector: '[role="spinner"]' // 加載指示器選擇器
          });

          配置項還有 template 自定義模板,為了保證正常工作,需要保留一個帶 role='bar' 的元素。參考默認模板。

          NProgress.configure({
              template: `
              <div class="bar" role="bar">
                <div class="peg"></div>
              </div>
              <div class="spinner" role="spinner">
                <div class="spinner-icon"></div>
              </div>`
          })

          另外,通過覆蓋 nprogress.css 樣式,可以實現定制化樣式。

          在 Vue 中使用

          Vue 項目中,可以將 NProgress.js 集成到路由系統中,方便頁面跳轉時顯示進度條。在 router/index.js 中引入 NProgress 并在路由衛士中調用相應的 API。

          import NProgress  from 'nprogress'
          import 'nprogress/nprogress.css'
          // 導入進度條
          import { start, close } from '../utils/nprogress';
          const router=new VueRouter({
            // ...
          });
          router.beforeEach((to, from, next)=> {
            NProgress.start();
            next();
          });
          router.afterEach(()=> {
            NProgress.done();
          });

          修改進度條樣式

          通過添加 CSS 樣式來自定義進度條的顏色和其他視覺效果。

          #nprogress .bar {
            background: green !important; /* 自定義顏色 */
          }

          總結

          NProgress.js 使用一種簡單的方式來改善用戶體驗,在單頁應用中,通過在頁面跳轉期間顯示進度條,可以讓用戶知道頁面正在加載,從而減少用戶的等待焦慮感。通過本文相信你已經能夠在項目中輕松使用 NProgress.js 了。

          祝好!

          引用鏈接

          [1] Github Star: 26k: https://github.com/rstacruz/nprogress
          [2] 官網:
          https://ricostacruz.com/nprogress/

          版css是切版網目前內部使用的框架,甚至于不算是一個框架,它只是提供了一個可靠的基礎去創建你一個前端項目,提供了一段來自經驗的css重寫,和一些經驗之談,并且約束了一些命名上的規范。

          演示

          http://www.qieban.cn/demo/

          更新筆記

          添加了使用比較頻繁的js插件

          jquery1.7.2壓縮版本

          jquery-1.7.2.min.js

          寫css3前綴太麻煩?

          -webkit-

          -o-

          -moz-

          一個prefixfree.min.js文件搞定

          prefixfree.min.js

          wow.js讓靜態頁面動起來

          wow.min.js

          需要擴展jquery的動畫軌跡?

          jquery.easing.1.3.js

          需要用到jquery的觸摸時間swipe

          jquery.mobile-1.0.1.min.js

          想用比jquery更小的zepto?

          zepto.min.js

          讓ie9以下的瀏覽器支持h5?

          html5.js

          fullpage滑屏效果經常用到的箭頭效果

          /*彈球(箭頭)*/

          調用

          .qieban{animation: bounce-up 1.4s linear infinite; }

          等等。后面工作中再有更多好用的代碼將不定期更新。

          來源:https://www.oschina.net/news/86445/qieban-1-2

          、Html

          <div class="numCount">
            <span class="numCX" data-startVal="0" data-endVal="363567" 
            data-speed="4" data-decimals="0" id="mumC1">363567</span>
          </div>

          2、Js關鍵code

          <script src="js/count.js"></script>
           <script type="text/javascript">
              $(function(){
                  var countCXArr=[];
                  var countCX=function (){
                      // ***外圍盒子需要有numCount這個class,執行動畫的子元素class為【numCX】,該元素必須有id**
                      $('.numCount').each(function(i, dom) {
                          if(countCXArr[i] && countCXArr[i]===true){
                              return;
                          }
                          var sT;
                          var ncTop;
                          sT=$(window).scrollTop();
                          ncTop=$(dom).offset().top;
                          var id,decimals, startVal, endVal, duration; 
                          if (sT > ncTop-$(window).height() && sT < ncTop) {
                              $(dom).find('.numCX').each(function(){
                                  id=$(this).attr('id');//id在這里運用
                                  decimals=$(this).attr('data-decimals'),
                                  startVal=$(this).attr('data-startVal'),
                                  endVal=$(this).attr('data-endVal'),
                                  duration=$(this).attr('data-speed'); 
                                  new CountUp(id, startVal, endVal, decimals, duration, {
                                      useEasing: true,//效果
                                      separator: ''//數字分隔符
                                  }).start();// target:目標元素id, startVal:你想要開始的值, endVal:你想要到達的值, decimals:小數位數,默認值為0, duration:動畫持續時間為秒,默認值為2, options:選項的可選對象
                                  countCXArr[i]=true;
                              })         
                          }
                      }) 
                  }
                  countCX();	
                  $(window).on("scroll",function() {
                      countCX();	
                  })	
              });
            </script>

          關于countjs插件


          主站蜘蛛池模板: 亚洲国产精品第一区二区三区| 国产在线观看一区二区三区精品| 色天使亚洲综合一区二区| 日本不卡一区二区三区视频| 日本一区二区不卡在线| 日本一区二区在线播放| 一本一道波多野结衣AV一区| 亚洲日韩一区二区三区| 国产在线观看精品一区二区三区91| 一区二区三区免费精品视频 | 国产一区二区电影| 乱精品一区字幕二区| 亚洲一区电影在线观看| 国产在线观看91精品一区| 中文字幕一区在线播放| 亚洲一区精品视频在线| 无码日韩人妻AV一区免费l| 亚欧色一区W666天堂| 国产综合精品一区二区| 国产无线乱码一区二三区| 色窝窝免费一区二区三区| 在线观看日韩一区| 国产精品va无码一区二区| 亚洲熟女乱色一区二区三区| 高清在线一区二区| 精品欧洲AV无码一区二区男男| 国产在线第一区二区三区| 久久亚洲一区二区| 国产一区二区三区日韩精品| 污污内射在线观看一区二区少妇 | 国产乱码精品一区二区三区麻豆| 亚洲乱码国产一区网址| 中文字幕无线码一区2020青青| www一区二区www免费| 亚洲av成人一区二区三区在线播放 | 久久久久人妻精品一区三寸蜜桃| 中文字幕亚洲综合精品一区| 久久高清一区二区三区| 精品日韩一区二区| 99久久综合狠狠综合久久一区| 91久久精一区二区三区大全|