整合營銷服務商

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

          免費咨詢熱線:

          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久久精品午夜一区二区| 51视频国产精品一区二区| 免费av一区二区三区| 无码精品久久一区二区三区| 中文字幕日韩一区二区三区不卡| 无码一区二区三区视频| 亚洲一区二区三区无码国产| 久久蜜桃精品一区二区三区| 国产伦精品一区二区三区免费迷 | 呦系列视频一区二区三区| 人成精品视频三区二区一区| 国产99久久精品一区二区| 日本一区二区三区免费高清| 波多野结衣av高清一区二区三区| 色综合视频一区二区三区| 亚洲色精品aⅴ一区区三区| 亚洲精品日韩一区二区小说| 内射白浆一区二区在线观看| 亚洲一区二区三区四区在线观看| 欧美av色香蕉一区二区蜜桃小说 | 国产精品高清视亚洲一区二区 | 亚洲av乱码一区二区三区香蕉 | 久久精品无码一区二区三区不卡| 国产精品免费视频一区| 国产亚洲无线码一区二区| 日韩在线一区二区| 无码喷水一区二区浪潮AV| 在线精品自拍亚洲第一区| 国产精品久久无码一区二区三区网| 青娱乐国产官网极品一区| 国产对白精品刺激一区二区| 丝袜人妻一区二区三区网站| 影院成人区精品一区二区婷婷丽春院影视 | 国产福利电影一区二区三区久久老子无码午夜伦不 | 国产剧情国产精品一区| 精品午夜福利无人区乱码一区| 日韩视频在线观看一区二区|