基于setInterval实现的JS加载条100%完成耗时计算问题咨询
正确计算方法
你之前写的((1000/wIdSpeed).toFixed(2))得到的是每秒回调函数的执行次数,以你配置的wIdSpeed=250为例,计算结果为4,也就是每秒进度会增加4%。
要得到进度到100%的总耗时,只需要用总需要的回调次数(100次,每次对应1%进度)除以每秒执行次数即可,对应公式:
(100 / (1000 / wIdSpeed)).toFixed(2)
也可以简化为:
((100 * wIdSpeed) / 1000).toFixed(2)
代入wIdSpeed=250计算,得到的结果是25.00,也就是加载到100%总共需要25秒。
注意事项
如果回调函数存在同步阻塞逻辑,实际耗时会略大于计算值,你当前的回调仅包含简单的变量累加和样式修改,执行耗时可以忽略,计算结果和实际运行效果几乎没有偏差。
内容的提问来源于stack exchange,提问作者Kris West
相关产品推荐
相关产品推荐

