我正在做一个非常基本的进度百分比计算,目前它是一个线性计算,所以:
0 -> 0%
max/10 -> 10%
max -> 100%
计算方法如下:
$max = 4000;
$current = 1450;
$percent = ceil($current/$max*100);
一样容易。
,但我需要让它看起来好像进度条在开始时增加得更快,基本上提高了最初的视觉进度。
我真的应该知道这一点,但是我的大脑不能检索古老的数学(我归咎于太多的咖啡)。
我想这是我所追求的一种放松;我怎样才能改变这个非常简单的公式,让它对进程曲线产生不同的影响?
注意:这显然是php,但在任何语言中都应该是相同的。
您可以使用一个小参数($sf
)的二次调整。这和你的$sf=0
一样。但是,您可以调整$sf以获得您想要的行为。
$sf=0.2;
$p = $current/$max;
$percent = ceil($p + $sf * ($p *(1-$p) )) * 100);
sin就是这样一条曲线。
<>之前& lt; ?php$k = 3.1415/2;$max = 100;输出sin(0/$max * $k)。"' n";输出sin50/$max * $k。"' n";打印sin(100/$max * $k)"' n";?>之前打印:
<>之前00.707090402001440.99999999892691