NProgress:簡單進度條

news/2024/7/19 14:01:26 标签: js, javascript

NProgress:簡單進度條

文章目錄

  • NProgress:簡單進度條
    • 簡介
    • 參考
  • 正文
    • Import 引入
      • CDN
      • NPM
    • 接口說明
    • Configuration 配置選項
      • 1. minimum 最小值
      • 2. template 模板
      • 3. easing & speed 移動模式
      • 4. trickle & trickleSpeed & trickleRate 自動前進
      • 5. showSpinner 顯示加載圖樣
      • 6. parent 父元素
    • Usage 使用
  • 結語

  • NProgress:簡單進度條
    • 簡介
    • 參考
  • 正文
    • Import 引入
      • CDN
      • NPM
    • 接口說明
    • Configuration 配置選項
      • 1. minimum 最小值
      • 2. template 模板
      • 3. easing & speed 移動模式
      • 4. trickle & trickleSpeed & trickleRate 自動前進
      • 5. showSpinner 顯示加載圖樣
      • 6. parent 父元素
    • Usage 使用
  • 結語

簡介

有些時候網頁需要向後端或是其他第三方服務器拉取資源,甚至於某些內容"豐富"的頁面加載都是頗為耗時的行為,長時間的白屏對於用戶體驗是極差,所以 nprogress 提供了一個簡單實現的進度條,並可由程序員手動控制進度。

參考

nprogress githubhttps://github.com/rstacruz/nprogress

正文

Import 引入

CDN

<script src="nprogress.js">javascript"></script>
<link rel="stylesheet" href="nprogress.css" />

NPM

$ npm i nprogress --save
js">import NProgress from 'nprogress'
import 'nprogress/nprogress.css'
  • 注意!:記得加 css!記得加 css!記得加 css!(因為很重要所以說三遍,忘了加你啥都看不到)

接口說明

這個庫實在是很簡單,基本上只有少少幾個基本操作

js">NProgress.start() // 開始
NProgress.done(bool)) // 結束,true 時表示即使當前進度為 0 還是顯示一次
Nprogress.set(percent) // 設置進度條長度
Nprogress.inc(percent) // 前進一點點(前進指定長度)

Configuration 配置選項

NProgress 同時提供一些配置選項可客製化進度條的屬性,示例代碼引用自官方示例

1. minimum 最小值

調用 start 方法時顯示進度條的最小值(初始狀態),默認為 0.08

js">NProgress.configure({ minimum: 0.1 })

2. template 模板

抽換進度條的默認模板

js">NProgress.configure({
  template: "<div class='....'>...</div>"
})

3. easing & speed 移動模式

進度條前進的動畫樣式,使用 CSS 的 ease 分類,速度單位為毫秒(ms),默認值 ease & 200

js">NProgress.configure({ easing: 'ease', speed: 500 })

4. trickle & trickleSpeed & trickleRate 自動前進

boolean 類型,決定進度條是否會自動緩慢前進,默認為 true

speed 表示自動前進間隔,單位為毫秒(ms),默認為 800

rate 表示自動前進長度比例,默認為 0.02

js">NProgress.configure({ trickle: false })

5. showSpinner 顯示加載圖樣

boolean 類型,決定是否顯示右側的小圈圈,默認為 true

js">NProgress.configure({ showSpinner: false })

6. parent 父元素

Selector 選擇器字符串,決定進度條的父元素,也就是進度條顯示位置,默認為 body

js">NProgress.configure({ parent: '#container' })

Usage 使用

進度條使用可以用於圖片加在、文件加載或其他異步操作等需要等待的操作,以下範例為 vue-router 裡頁面加載的範例

js">import router from './router'
import NProgress from 'nprogress'
import 'nprogress/nprogress.css'

router.beforeEach((to, from, next) => {
  NProgress.start()
  next()
})

router.afterEach(() => {
  // finish progress bar
  NProgress.done(true)
})

結語

本篇介紹一個簡單的進度條,看似多餘的樣式,但是對於需要較長時間等待的用戶體驗極為重要,使用者不仿自己實現看看自定義的加載進度條,也是能夠玩出很多花樣的。


http://www.niftyadmin.cn/n/735639.html

相关文章

欧拉函数相关问题代码实现

1.欧拉函数 φ(n)&#xff1a;1~n内&#xff0c;与n互质的数的个数 φ(6)2&#xff0c;1 2 3 4 5 6 任意正整数n&#xff1a; np1a1p2a2...pmamnp^{a_1}_1p^{a_2}_2...p^{a_m}_mnp1a1​​p2a2​​...pmam​​ ( pip_ipi​ 为素数) 欧拉函数计算公式&#xff1a;φ(n)n(1−1p1…

Setting Up ODI's Schedule

本文介绍如何创建ODI的调度过程。创建ODI 12c调度的步骤&#xff1a;先创建包&#xff08;package&#xff09;、场景&#xff08;Scenario&#xff09;其次是调度&#xff08;Schedule&#xff09;。 1、ODI Package 在ODI中&#xff0c;包是一个大的执行单元&#xff0c;它由…

JS基礎:Event Loop事件循環機制

JS 基礎&#xff1a;Event Loop 事件循環機制 文章目錄JS 基礎&#xff1a;Event Loop 事件循環機制簡介參考正文Structure 結構Stack 棧Heap 堆WebAPIs 接口Callback Queue 回調函數隊列Main Procedure 主要流程Problem 問題Blocking 阻塞SampleSolution 解決辦法Render Block…

JS基礎:事件流機制(捕獲冒泡)

JS 基礎&#xff1a;事件流機制(捕獲&冒泡) 文章目錄JS 基礎&#xff1a;事件流機制(捕獲&冒泡)簡介參考正文EventTarget 事件目標對象Methods 方法EventTarget.addEventListenerEventTarget.removeEventListenerEventTarget.dispatchEventEvent 事件對象Properties 屬…

Redis安装存档

系统为CentOS 7 Redis版本3.2.10参考链接&#xff1a;linode.com/docs/databa…更新yum仓库yum install epel-release yum update复制代码安装并启动yum install redis systemctl start redis systemctl enable redis复制代码允许远程访问(配置etc/redis.conf)注释掉绑定ip&…

组合数相关问题

1.求组合数 注意根据数据范围选择求组合数的方式 (1) 1≤n≤100000 1≤a,b≤2000 O(m2) 输出Cabmod(1097)C_a^b\ mod(10^97)Cab​ mod(1097)的值&#xff0c;多组输入 思路 如果硬算话&#xff0c;时间复杂度O(nm)&#xff0c;105 * 20002 * 108会超时&#xff0c;不同的…

React項目啟動:create-react-app

React 項目啟動&#xff1a;create-react-app 文章目錄React 項目啟動&#xff1a;create-react-app簡介參考正文創建項目結語簡介 我們都知道當前三大主流框架為 Vue、React、Angular&#xff0c;幾乎瓜分了前端框架市&#xff0c;更有著許多以此為基礎延伸的框架&#xff08…

Clipboard:黏貼簿操作

Clipboard&#xff1a;黏貼簿操作 文章目錄Clipboard&#xff1a;黏貼簿操作簡介參考正文Install 安裝CDNNPMCreate 創建對象(官方 Setup)參數說明SampleUsage in Html 標籤用法1. Action 執行動作(data-clipboard-action)2. Target 參照目標(data-clipboard-target)3. Text 操…