我试图实现一个简单的百分比加载器,但对于某些目标值,它提供了错误!
一些正确的值集方案:
target = 92.4- ,则增量函数将元素文本设置为 92.4%
- target = 91.7,则增量函数将元素文本设置为 90.8
一些错误的值集场景:
- target = 90,则增量函数将元素文本设置为 89.1%
- target = 91.7,则增量函数将元素文本设置为 90.8%
- target = 100,则增量函数将元素文本设置为 99.0%
我的目标是获得目标中设置的正确增量值作为最终结果!
<div class="progress" />
function incrementLoader(target) {
var value = 0,
ment = parseFloat(target - value) / 100,
elem = document.querySelector(".progress");
var interval = setInterval(function() {
if (value >= parseFloat(target)) {
return clearInterval(interval);
}
elem.textContent = `${parseFloat(value).toFixed(1)}%`;
value = Math.fround(parseFloat(value + ment) * 100) / 100;
}, 20);
}
incrementLoader(92.4);
显示目标值后检查是否达到目标值。