Javascript逻辑获取两个数字之间每个数字的百分比

Zak*_*lal 2 javascript math percentage

我在 JS 中有这个进度条,我通过使用以下代码增加其宽度来填充进度:

function move(ValueSC) {
    var elem = document.getElementById("scaleOrig"); 
    var width = 0;
    var internalVlue = ValueSC;
    var id = setInterval(frame(internalVlue), 50);
    function frame(internalVlue) {
        if (width >= internalVlue) {
            clearInterval(id);
        } else {
            width += internalVlue; 
            elem.style.width = width + '%'; 
        }
    }
}  
Run Code Online (Sandbox Code Playgroud)

这工作得很好,但问题是我将从计算器中得到一个值(结果),该值介于数字 15 到 40 之间,因此,15 将是 0%,40 将是 100%。如果结果(来自我的计算器)为 40,我希望进度条的宽度达到 100%;如果结果为 15,则进度条的值应为 0%。基本上我需要逻辑将所有 25 个数字从 15 转换为 40,以获得 0 到 100% 之间的百分比值。

Hyd*_*mal 8

作为更广泛的答案,您正在寻找的公式是((value - min) / (max - min)) * 100. maxmin是你价值的界限,value是当前的进度。这将返回两个其他值之间的任何给定值迄今为止的进度百分比。