yypkg 工具函数 ProgressController 进度控制器

发布于 2021-09-16 22:48:30 字数 3044 浏览 1278 评论 0

进度控制器,更灵活可控的进度百分比控制,模拟逼真的web资源加载进度

使用

import ProgressController from 'yypkg/progress-controller'

// 初始配置
let config = {
  from: 0,
  to: 100,
  increment: 1,
  rate: 100,
}
let stepOption = {
  step1: {
    progress: 85,
    rate: [100, 120], // 在100-120ms之间随机更新频率
  },
  step2: {
    progress: 92,
    rate: [800, 1200],
  }
}
let progress = new ProgressController(config)

// 进度阶段1
progress.go(stepOption.step1, ()=>{

  // 进度阶段2
  progress.add(stepOption.step2)
})

// 设置进度到100%
progress.complete(()=>{
  console.log('加载完毕')
})

// 进度加载事件
progress.$on('process', (currentProgress)=>{
  console.log(`当前进度是${currentProgress}`)
})

配置项

参数名描述类型默认值
from设置进度起始位置Number 或 Array,数组时表示区间内随机某个值0
to设置进度结束位置Number 或 Array,数组时表示区间内随机某个值100
increment每次更新的递增量Number 或 Array,数组时表示区间内随机某个值1
rate更新频率,即多久更新一次,单位msNumber 或 Array,数组时表示区间内随机某个值100

方法

方法名描述参数
go设置进度去到某个值option:Object
option.progress: 进度值,Number 或 Array
option.increment: 递增量,Number 或 Array
option.rate: 频率,Number 或 Array
callback: 回调函数,返回当前进度值
add在当前时刻基础上增加进度去到某个值option:Object
option.progress: 进度值,Number 或 Array
option.increment: 递增量,Number 或 Array
option.rate: 频率,Number 或 Array
callback: 回调函数,返回当前进度值
complete设置进去去到100%,也可用goadd实现callback: 回调函数,返回当前进度值
reset重置进度callback: 回调函数,返回当前进度值
destroy销毁进度对象callback: 回调函数
$on事件监听方法eventName: 事件名称,String,见下表
callback: 回调函数

事件

事件用$on方法调用,callback回调函数返回当前进度值

事件名描述回调函数参数
process进度进行过程中currentProgress:当前进度值
complete进度完成到100%currentProgress:当前进度值
beforeDestroy销毁之前currentProgress:当前进度值
destroyed销毁之后

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文