简洁高效的进度条插件


简洁高效的进度条插件

发现同事在项目里新增了一个加载页面显示进度条的功能,当时就很疑惑,他是怎么判断一个页面的加载情况的?好奇心驱使下查看了同事写的代码,仅需4行代码就可以实现。

1
2
3
4
import NProgress from 'nprogress';
import 'nprogress/nprogress.css';
NProgress.start();
NProgress.done();

翻阅了下官方文档,实现的本质就是进度条一开始就默默在增加,然后如果不done掉,他会一直到99.9,。嗯哼?这就解释了,为什么有时候遇到的下载会一直卡在99.9。

一、NProgress插件概述
NProgress是一个轻量级的、基于CSS和JavaScript的进度条插件。它的设计目标是提供一个简单易用的进度条解决方案,可以满足大部分网站和应用程序的需求。NProgress具有以下特点:

  1. 简洁轻量:NProgress代码精简,不依赖其他库,文件大小只有几KB,可以快速加载和使用。
  2. 自动控制:NProgress可以自动控制页面加载、Ajax请求等操作的进度显示,无需手动管理。
  3. 平滑动画:NProgress使用平滑的动画效果来展示进度变化,使用户感知更加舒适。
  4. 支持自定义:NProgress提供了丰富的自定义选项,可以根据项目需求调整进度条的颜色、速度、开始和结束时的回调函数等。

二、使用NProgress插件

  1. 引入NProgress:首先,我们需要在项目中引入NProgress插件的CSS和JavaScript文件。你可以从NProgress官方网站下载最新版本的文件,或者使用包管理工具安装。
  2. 初始化进度条:在页面加载完成时,我们可以使用以下代码初始化NProgress进度条:
1
NProgress.start();
  1. 更新进度:在页面加载或Ajax请求过程中,我们可以使用以下代码更新进度条的进度:
1
NProgress.set(0.5);

其中,参数0.5表示50%的进度。

  1. 完成进度:当页面加载完成或Ajax请求结束时,我们可以使用以下代码完成进度条的显示:
1
NProgress.done();

此时,进度条将以动画的形式消失。

  1. 自定义选项:如果需要自定义进度条的样式或行为,可以使用NProgress提供的一些选项。例如,我们可以使用以下代码更改进度条的颜色:
1
2
3
4
5
NProgress.configure({
barColor: '#ff0000',
spinnerColor: '#ff0000',
// showSpinner: false // 隐藏右侧加载旋转图标
});

这将使进度条和旋转图标的颜色都变为红色。

三、总结
NProgress插件是一个功能强大、简洁高效的进度条插件,为网页加载和操作提供了良好的用户体验。通过简单的引入和初始化,我们可以轻松地在项目中使用NProgress,并根据需求进行自定义设置。

我的微信公众号: 梨的前端小屋


文章作者: 梨啊梨
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 梨啊梨 !
  目录